Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/153.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么Unicode在字符之间存储句点?_Unicode_Disassembly_Period - Fatal编程技术网

为什么Unicode在字符之间存储句点?

为什么Unicode在字符之间存储句点?,unicode,disassembly,period,Unicode,Disassembly,Period,所以,现在我正在用Java制作一个小的包阅读器。 所有unicode字符串都有句点,或者至少在hex editor中是这样显示的,所以当我读取它们时,我需要转到偏移量并读取分配给该信息的内存。比如,如果它是Xbox 360文件中的游戏名,我需要读取80个字节并从中删除“.”以获得可读字符串 那么为什么unicode像这样存储在文件中呢?它是表示它是Unicode还是分配填充还是什么 我不确定我的问题是否正确,只是一直在我的脑海里。 谢谢。在记事本中创建包含的文件,将其另存为Unicode,Win

所以,现在我正在用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


当您在十六进制编辑器中查看此文件时,它既不知道也不关心文本编码,0x41可以显示为a,但00映射为无字符,所以a。显示或等效项,让您知道其中有一个字节。

这很可能就是十六进制编辑器试图将空字符显示为文本的方式。@AlexK.-我理解空终止符,但为什么一个单词中的字符之间会有空字符?请阅读utf-16。表示ASCII字符的最高有效字节是0。现在看来,这似乎与主题无关。请尝试“超级用户”,但请指定您正在使用的十六进制编辑器,并以某种格式显示数据样本,以便访问单个字节。这很可能就是十六进制编辑器试图将空字符显示为文本的方式。@AlexK.-我理解空终止符,但为什么一个单词中的字符之间会有空字符?请阅读utf-16。表示ASCII字符的最高有效字节是0。现在看来,这似乎与主题无关。请尝试使用超级用户,但请指定您正在使用的十六进制编辑器,并以某种格式显示数据示例,以允许访问单个字节。感谢解释:有意义。感谢解释:有意义。