为什么Unicode在字符之间存储句点?
所以,现在我正在用Java制作一个小的包阅读器。 所有unicode字符串都有句点,或者至少在hex editor中是这样显示的,所以当我读取它们时,我需要转到偏移量并读取分配给该信息的内存。比如,如果它是Xbox 360文件中的游戏名,我需要读取80个字节并从中删除“.”以获得可读字符串 那么为什么unicode像这样存储在文件中呢?它是表示它是Unicode还是分配填充还是什么 我不确定我的问题是否正确,只是一直在我的脑海里。 谢谢。在记事本中创建包含的文件,将其另存为Unicode,Windows将使用UTF-16LE编码;这将使用2个字节来存储字符:0x41 0x00 当您在十六进制编辑器中查看此文件时,它既不知道也不关心文本编码,0x41可以显示为a,但00映射为无字符,所以a。或者显示等效文件,让您知道其中有一个字节。在记事本中创建一个包含一个字节的文件,将其另存为Unicode,Windows将使用UTF-16LE编码;这将使用2个字节来存储字符:0x41 0x00为什么Unicode在字符之间存储句点?,unicode,disassembly,period,Unicode,Disassembly,Period,所以,现在我正在用Java制作一个小的包阅读器。 所有unicode字符串都有句点,或者至少在hex editor中是这样显示的,所以当我读取它们时,我需要转到偏移量并读取分配给该信息的内存。比如,如果它是Xbox 360文件中的游戏名,我需要读取80个字节并从中删除“.”以获得可读字符串 那么为什么unicode像这样存储在文件中呢?它是表示它是Unicode还是分配填充还是什么 我不确定我的问题是否正确,只是一直在我的脑海里。 谢谢。在记事本中创建包含的文件,将其另存为Unicode,Win
当您在十六进制编辑器中查看此文件时,它既不知道也不关心文本编码,0x41可以显示为a,但00映射为无字符,所以a。显示或等效项,让您知道其中有一个字节。这很可能就是十六进制编辑器试图将空字符显示为文本的方式。@AlexK.-我理解空终止符,但为什么一个单词中的字符之间会有空字符?请阅读utf-16。表示ASCII字符的最高有效字节是0。现在看来,这似乎与主题无关。请尝试“超级用户”,但请指定您正在使用的十六进制编辑器,并以某种格式显示数据样本,以便访问单个字节。这很可能就是十六进制编辑器试图将空字符显示为文本的方式。@AlexK.-我理解空终止符,但为什么一个单词中的字符之间会有空字符?请阅读utf-16。表示ASCII字符的最高有效字节是0。现在看来,这似乎与主题无关。请尝试使用超级用户,但请指定您正在使用的十六进制编辑器,并以某种格式显示数据示例,以允许访问单个字节。感谢解释:有意义。感谢解释:有意义。