在utf16和utf32中,一个零的字节是否为空?如在utf8或者我们需要2和4个字节的零来相应地在utf16和utf32中创建null吗?
答案 0 :(得分:10)
在UTF-16中它将是两个字节,在UTF-32中它将是4个字节。
毕竟,否则你无法区分其编码值恰好以零字节开头的字符和代表U + 0000的单个零字节。
基本上UTF-16工作在2字节的块中,UTF-32工作在4字节的块中。 (不可否认,对于BMP之外的字符,你需要两个UTF-16的“块”,但原理仍然是相同的。)如果你要实现一个UTF-16解码器,你会看到两个一次一个字节。