我正在寻找正确的语法,以从我成功完成的UTF-16文本文件中删除bOM。请参阅下面的语法:
$readline =~ s/^N{ZERO WIDTH NO-BREAK SPACE}//;
$readline =~ s/^N{BYTE ORDER MARK}//;
$readline =~ s/^N{BOM}//;
$readline =~ s/^x{FEFF}//;
$readline =~ s/^ x{FEFF}//;
$readline =~ s/^x{FE}x{FF}//;
$readline =~ s/^xFExFF//;
$readline =~ s/^ xFE xFF//;
您可以看到这些是重复的,但是我正在尝试任何我能找到的东西。要打开文件,我使用了编码功能。任何帮助将不胜感激。
$readline
中有什么?
如果您有UTF-16BE,
s/^xFExFF//
如果您有UTF-16LE,
s/^xFFxFE//
如果您有Unicode代码点(解码文本),
s/^x{FEFF}//
s/^N{BOM}//
另外,您也可以使用file :: bom删除标记并解码流。