提问人:Jasmine John 提问时间:11/21/2020 更新时间:11/21/2020 访问量:199
通过将单个字符短缺的大小减少到 1 字节(7 位)来缩短使用 UTF8 编码的 db 的大小 [已关闭]
Shorten the size of db with UTF8 encoding by reducing the size of single character shortage to 1 byte(7 bit) [closed]
问:
我需要减小 sql 数据库的大小。我的数据库字符串是 UTF8 编码,因为它是一种不同的语言。 为每个字符分配 2 个字节,因为该语言几乎包含 100 个字符用于表示。如何将这些 16 位字符转换为 7 位字符以缩短数据库大小。
答:
2赞
Basil Bourque
11/21/2020
#1
我的数据库字符串是 UTF8 编码,因为它是一种不同的语言。为每个字符分配 2 个字节
如何将这些 16 位字符转换为 7 位字符
不,这是一个矛盾。
在 UTF-8 中,只需要 7 位 (US-ASCII) 的字符只需要 8 位(一个八位字节)。UTF-8 为每个字符使用 1、2、3 或 4 个八位字节,具体取决于字符的码位编号的大小。
相比之下,UTF-16 为每个字符使用一对或多对八位字节。
最好一般使用 UTF-8。UTF-16 被一些人认为是有害的。
推荐阅读: 每个软件开发人员绝对、肯定地必须了解 Unicode 和字符集的绝对最低限度(没有任何借口!
评论
0赞
blackapps
11/21/2020
没有矛盾。该语言的字符在 utf8 中占用两个字节,您可以读取。
0赞
Basil Bourque
11/21/2020
@blackapps 问题的最后一句话表明情况并非如此。
0赞
blackapps
11/21/2020
16 位是两个字节,所以这就是所说的。
0赞
Basil Bourque
11/21/2020
@blackapps 标题也暗示了其他情况。我发表了一条评论要求澄清,因为这个问题显然不清楚。
0赞
blackapps
11/21/2020
#2
您应该使用语言的字符集。
就像在你还没有使用 utf 的时候所做的那样,而是每个字符一个字节的集合。
评论