【发布时间】:2015-03-04 14:30:42
【问题描述】:
当 Perl 打开一个 UTF-16 编码的文件时,
open my $in, "< :encoding(UTF-16)", "text-utf16le.txt" or die "Error $!\n";
它会自动检测endianess 感谢Byte Order Mark。
但是当我打开文件进行写入时
open my $out, "> :encoding(UTF-16)", "output.txt" or die "Error $!\n";
Perl 默认以大端方式打开它。
请问如何指定以与输入文件相同的字节序打开输出文件?
如何从输入文件句柄$in 中获取字节序/编码? PerlIO::get_layers($in) 在其他层中返回 encoding(UTF-16)。
【问题讨论】:
标签: perl encoding endianness utf-16