我最近一直在阅读关于Unicode的所有内容,因为它的工作方式非常有趣。
所以我读过UTF-32
是一个固定的4个字节。嗯,我觉得这很奇怪,当我在我的MacBook播放时,当我保存一个简单的文件,其中有一个字母(t)时,它保存了8个字节。这也发生在UTF-16
,它占用了4个字节(虽然不是很奇怪)。谁知道为什么?
注意:我确实检查过,其中没有空格
答案 0 :(得分:4)
很可能在/(?:^|,)(\d+-\d+)(?=,|$)/
字符前面的文件开头保存了一个UTF BOM。 BOM用于指定使用哪种UTF编码对文件进行编码,对于UTF-16和UTF-32,使用endian。
UTF-16LE:BOM(2字节)+ t
(2字节)= 4字节
t
FF FE
UTF-16BE:BOM(2字节)+ 74 00
(2字节)= 4字节
t
FE FF
UTF-32LE:BOM(4字节)+ 00 74
(4字节)= 8字节
t
FF FE 00 00
UTF-32BE:BOM(4字节)+ 74 00 00 00
(4字节)= 8字节
t
00 00 FE FF