导航:首页 > 数据处理 > 数据库一个中文多少字节

数据库一个中文多少字节

发布时间:2023-06-09 07:34:12

‘壹’ 数据库中一个汉字占几个字符

如果你说的“字符”就是指 Java 中的 char,那好,那它就是 16 位,2 字节。

如果你说的“字符”是指我们用眼睛看到的那些“抽象的字符”,那么,谈论它占几个字节是没有意义的。具体嫌知地讲,脱离具体的编码谈某个字符占几个字节是没有意义的。

就好比有一个抽象的整数“42”,你说它占几个字节?这得具体看你是用 byte,short,int,还是 long 来存它。
用 byte 存就占一字节,用 short 存就占两字节,int 通常是四字节,long 通常八字节。
当然,如果你用 byte,受限于它有限的位数,有些数它是存不了的,比如 256 就无法放在一个 byte 里了。

字符是同样的道理,如果你想谈“占几个字节”,就要先把编码说清楚。同一个字桐斗符在不同的编码下可能占不同的字节。

就以你举的“字”字为例,“字”在 GBK 编码下占 2 字节,在 UTF-16 编码下也占 2 字节,在 UTF-8 编码下占 3 字节,在 UTF-32 编码下占 4 字节。不同的字符在同一个编码下也可能占不同的字节。

“字”在 UTF-8 编码下占3字节,而“A”在 UTF-8 编码下占 1 字节。(因为 UTF-8 是变长编码),而 Java 中的 char 本质上是 UTF-16 编码。而 UTF-16 实际上也是一个变长编码(2 字节或 4字节)。

如果一个抽象的字符在 UTF-16 编码下占 4 字节,显然它是不能放到 char 中的。换言之, char 中只能放 UTF-16 编码下只占芹轮消 2 字节的那些字符。而 getBytes 实际是做编码转换,你应该显式传入一个参数来指定编码,否则它会使用缺省编码来转换。

你说“ new String("字").getBytes().length 返回的是3 ”,这说明缺省编码是 UTF-8.
如果你显式地传入一个参数,比如这样“ new String("字").getBytes("GBK").length ”,那么返回就是 2。你可以在启动 JVM 时设置一个缺省编码,假设你的类叫 Main,那么在命令行中用 java 执行这个类时可以通过 file.encoding 参数设置一个缺省编码。
比如这样:java -Dfile.encoding=GBK Main
这时,你再执行不带参数的 getBytes() 方法时,new String("字").getBytes().length 返回的就是 2 了,因为现在缺省编码变成 GBK 了。
当然,如果这时你显式地指定编码,new String("字").getBytes("UTF-8").length 返回的则依旧是 3.

否则,会使用所在操作系统环境下的缺省编码。

通常,Windows 系统下是 GBK,Linux 和 Mac 是 UTF-8.
但有一点要注意,在 Windows 下使用 IDE 来运行时,比如 Eclipse,如果你的工程的缺省编码是 UTF-8,在 IDE 中运行你的程序时,会加上上述的 -Dfile.encoding=UTF-8 参数,这时,即便你在 Windows 下,缺省编码也是 UTF-8,而不是 GBK。

由于受启动参数及所在操作系统环境的影响,不带参数的 getBytes 方法通常是不建议使用的,最好是显式地指定参数以此获得稳定的预期行为。

‘贰’ 数据库中一个汉字占几个字符

数据库中一个汉字占用两个字符,英文和数字占用一个字符。
望采纳

‘叁’ mysql 数据库varchar可以存储多少个汉字和多少个数字

首先要确定mysql版本,一般一个汉字2个字节,50即可存25个汉字。

4.0版本以下,varchar(100),指的是100字节,如果存放UTF8汉字时,只能存33个(每个汉字3字节)

5.0版本以上,varchar(100),指的是100字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放100个。

varchar特点

1、使用比固定长度类型(char)占用更少存储空间(除了使用ROW_FORMAT=FIXED创建的MyISAM表)。

2、使用额外的1-2字节来存储值长度,列长度<=255使用1字节保存,其它情况使用2字节保存。例如varchar(10)会占用11字节存储空间,varchar(500)会占用502字节存储空间。

3、节约空间,所以性能会有帮助。在更新的时候会产生额外的工作。

以上内容参考:网络-varchar

阅读全文

与数据库一个中文多少字节相关的资料

热点内容
雇佣别人做微信小程序多少钱 浏览:200
恒泰证券怎么开通转债交易 浏览:539
县城没有顺丰快递代理怎么样 浏览:177
空分技术学院有什么专业 浏览:981
北京旅游机票代理怎么联系 浏览:409
旧货市场上哪里有旧空调卖 浏览:490
执行监理监督程序是什么 浏览:227
天津银行股票如何交易 浏览:467
模型怎么招代理拿货 浏览:334
雷赛伺服怎么保存数据 浏览:902
草坪剪纸技术有哪些 浏览:474
创新城股票做事交易如何挂档 浏览:764
qq怎么屏蔽人发信息 浏览:333
临沧兰瑞莎代理多少钱一盒 浏览:501
安卓如何重置电池数据 浏览:820
北桥废塑料市场在什么位置 浏览:402
菜市场海带为什么那么绿 浏览:476
水光针滚针用什么产品 浏览:72
在哪里学种菜技术 浏览:509
闲鱼交易如何催发货 浏览:717