我使用 Java 将多语言文本保存到 UTF-16 格式的文件中。为了节省磁盘空间,我想改用 UTF-8。
UTF-8 能否表达与 UTF-16 相同的字符集范围?
这将使我能够避免使用不同的人类语言进行回归或大量测试。 我的大部分内容都是英文的,所以我希望节省磁盘空间。
最佳答案
是的,它可以。 UTF-8和 UTF-16只是将 Unicode 字符转换为字节的不同方式,反之亦然。
两种编码方式都可以编码所有可能的Unicode字符。
来自链接(维基百科):
UTF-8 (U from Universal Character Set + Transformation Format—8-bit) is a character encoding capable of encoding all possible characters (called code points) in Unicode. ... UTF-8 encodes each of the 1,112,064 valid code points in the Unicode code space (1,114,112 code points minus 2,048 surrogate code points) using one to four 8-bit bytes (a group of 8 bits is known as an octet in the Unicode Standard).
UTF-16 (16-bit Unicode Transformation Format) is a character encoding capable of encoding all 1,112,064 possible characters in Unicode.
关于java - UTF-8 可以保存 UTF-16 可以保存的相同数据吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28809830/