2010-04-29 64 views
0

什么是一个很好的估计/转换/公式来计算X#字符= Y#字节?字节到字节

+3

它完全取决于您使用的字符编码方案。你在使用哪一个? – 2010-04-29 20:16:07

+0

MySQL ...? > _o – 2010-04-29 20:21:08

+1

MySQL中的默认编码是Latin-1,所以如果你没有改变它,每个字符只有1个字节,但你只能存储一组非常有限的字符。考虑使用UTF-8。 – bobince 2010-04-29 20:37:43

回答

5

它完全取决于编码和潜在的数据。

对于UTF-16,如果您知道所有字符都在基本多语言平面中,则答案将是字节= 2 *个字符。

对于UTF-8,如果一切都在ASCII范围内,那么字节=字符 - 但是如果有很多远东字符,它可能是多达字节= 3 *字符(并且仍然假定Basic多语言平面)。

其他编码显然有不同的场景。你能否提供关于你的情况(和你的平台)的更多细节?你想根据实际字符计算准确的值吗?你知道你要编码的文字吗?

+0

对于单个字符,UTF-8最多可以使用4个字节。 – 2010-07-06 13:40:31

+0

@Christoffer:即使在BMP?不要根据http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 – 2010-07-06 14:16:26

0

对于ANSI,我会认为1字节char,但对于unicode,我会认为每字符2个字节。尽管也可能有多字节模式。