Unicode 阿拉伯和亚洲的计算机因为使用的字符而使用更多的内存?

Unicode 阿拉伯和亚洲的计算机因为使用的字符而使用更多的内存?,unicode,encoding,ascii,Unicode,Encoding,Ascii,如果Unicode标准中使用的阿拉伯和亚洲字符使用超过1字节,这意味着阿拉伯和亚洲的计算机会因为使用的字符而花费更多的内存?我对阿拉伯语一无所知,所以这个答案只关注中文 从技术上讲,如果使用UTF-8这样的表示法,则表示3或4字节的汉字需要更多的字节,这取决于该汉字是否为BMP格式,而不是ASCII字符1字节。然而,一个汉字常常表达英语中一个单词的功能。因此,即使使用UTF-8编码,您的文本最终也会变短 使用其他编码时,ASCII字符的空间优势甚至更小。在UTF-16中,每个ASCII字符需要2

如果Unicode标准中使用的阿拉伯和亚洲字符使用超过1字节,这意味着阿拉伯和亚洲的计算机会因为使用的字符而花费更多的内存?

我对阿拉伯语一无所知,所以这个答案只关注中文

从技术上讲,如果使用UTF-8这样的表示法,则表示3或4字节的汉字需要更多的字节,这取决于该汉字是否为BMP格式,而不是ASCII字符1字节。然而,一个汉字常常表达英语中一个单词的功能。因此,即使使用UTF-8编码,您的文本最终也会变短

使用其他编码时,ASCII字符的空间优势甚至更小。在UTF-16中,每个ASCII字符需要2个字节,而一个汉字需要2或4个字节,这取决于它是否在BMP中。因此,如果您的大部分中文文本都是BMP格式,那么它比英文具有更大的空间优势:当然,在UTF-32中,每个字符需要4个字节,BMP或no


请注意,无论持久性存储使用何种编码,许多编程语言都将全面使用UTF-32,特别是当需要随机访问字符串中的字符时。这意味着ASCII字符在这些编程语言的进程内存中没有任何空间优势。

我很确定计算机没有国籍。用UTF-8编码的字符串在用阿拉伯语编码文本时占用更多空间。在本地代码页中,它们正好占用1字节。日语和其他东方语言总是每个字符有多个字节是的。您将如何处理答案?使用UTF-8,阿拉伯语/希伯来语将每个字符占用2个字节,但有些本地代码页的每个字符占用一个字节。希伯来语为ISO 8859-8,希伯来语为ISO 8859-6Arabic@odedsh没错,一个好的编码选择是减少阿拉伯语文本和几乎所有非CJK语言的存储需求的一种方法。