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

use*_*525 1 unicode period disassembly

所以,现在我正在用 Java 制作一个小型的包阅读器。所有 unicode 字符串都有句点(或者至少是它们在十六进制编辑器中的呈现方式),因此当我读取它们时,我需要转到偏移量并读取分配的内存以获取该信息。例如,如果它是 Xbox 360 文件中的游戏名称,我需要读取 80 个字节并从中删除“.”以获得可读字符串。

那么为什么unicode在文件中这样存储呢?它是表示它是 Unicode 还是分配填充还是什么?

我不确定我的问题是否有效,它一直在我的脑海中。谢谢。

Ale*_* K. 6

在记事本中创建一个包含“ A”的文件,将其另存为 Unicode,Windows 将使用 UTF-16(LE) 编码来执行此操作;这使用 2 个字节来存储字符:0x41 0x00

当您在十六进制编辑器(它不知道也不关心文本编码)中查看此文件时,0x41可以显示为A00映射到任何字符,因此.显示 a (或等效项)以让您知道那里有一个字节。