一、前言:

1、GBK编码,一个汉字占2个字节。
2、UTF-16编码,通常汉字占2个字节,CJKV扩展B区、扩展C区、扩展D区中的汉字占4个字节(一般字符的Unicode范围是U+0000至U+FFFF,而这些扩展部分的范围大于U+20000,因而要用两个UTF-16)。
3、UTF-8编码是变长编码,通常汉字占3个字节,扩展B区以后的汉字占4个字节。

二、代码演示:

String a = "名";
Timber.d("UTF-8编码长度:"+a.getBytes("UTF-8").length);
Timber.d("UTF-16编码长度:"+a.getBytes("UTF-16").length);
Timber.d("GBK编码长度:"+a.getBytes("GBK").length);
Timber.d("GB2312编码长度:"+a.getBytes("GB2312").length);Timber.d("-----------------分割线--------------------");
String b = "B";
Timber.d("UTF-8编码长度:"+b.getBytes("UTF-8").length);
Timber.d("UTF-16编码长度:"+b.getBytes("UTF-16").length);
Timber.d("GBK编码长度:"+b.getBytes("GBK").length);
Timber.d("GB2312编码长度:"+b.getBytes("GB2312").length);

结果:

2021-02-23 13:11:26.991 14738-14738/com.sumansoul.myviewdemo D/MainActivity: UTF-8编码长度:3
2021-02-23 13:11:26.992 14738-14738/com.sumansoul.myviewdemo D/MainActivity: UTF-16编码长度:4
2021-02-23 13:11:26.995 14738-14738/com.sumansoul.myviewdemo D/MainActivity: GBK编码长度:2
2021-02-23 13:11:26.996 14738-14738/com.sumansoul.myviewdemo D/MainActivity: GB2312编码长度:2
2021-02-23 13:11:26.996 14738-14738/com.sumansoul.myviewdemo D/MainActivity: -----------------分割线--------------------
2021-02-23 13:11:26.997 14738-14738/com.sumansoul.myviewdemo D/MainActivity: UTF-8编码长度:1
2021-02-23 13:11:26.997 14738-14738/com.sumansoul.myviewdemo D/MainActivity: UTF-16编码长度:4
2021-02-23 13:11:26.998 14738-14738/com.sumansoul.myviewdemo D/MainActivity: GBK编码长度:1
2021-02-23 13:11:26.998 14738-14738/com.sumansoul.myviewdemo D/MainActivity: GB2312编码长度:1

一个汉字占多少字节?相关推荐

  1. 一个汉字占几个字节的问题

    一个汉字占几个字节的问题 大家都说一个汉字占两个字节(byte) 但是为什么运行程序会得到如下结果 String name="宋"; int a=name.getBytes(&qu ...

  2. oracle和mysql存储汉字_mysql和oracle的一个汉字占几个字节

    以前一直使用oracle11g,一个汉字占3个字节,所以在操作mysql时也一直这样分配长度. 今天测试了下发现不对了 可以看到第一个的长度确实是15,但是第二个为什么是5? 在网上找到资料:char ...

  3. php汉字占几个字节,php一个汉字几个字节

    字符的简介: 在js中,中文占两个字符,英文占一个字符: 在php中,不同编码下不相同,在GBK/GB2312编码下一个中文占2个字符,UTF-8/unicode编码下一个中文占3个字符: 推荐:&l ...

  4. Oracle中一个汉字占几个字节

    Oracle中一个汉字占几个字节? 某天,在向一个字段类型为CHAR(6)的表中插入数据'大沽口'时报错,提示'too large for column(actual: 9 ,maximum: 6)' ...

  5. oracle一个汉字三个字节,1个汉字在UTF-8编码占3个字节

    8. 实例 下面,举一个实例. 打开"记事本"程序Notepad.exe,新建一个文本文件,内容就是一个"严"字,依次采用ANSI,Unicode,Unicod ...

  6. 一个汉字占多少个字节

    一个汉字占多少个字节 不同编码方式1个英文字母占的字节是不同的: 1,ASCII码:一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间. 2,UTF-8编码:一个英文字符等于一个 ...

  7. utf-8 中的一个汉字占几个字节

    utf-8 中的一个汉字占几个字节 占 2 个字节的:〇 占 3 个字节的:基本等同于 GBK,含 21000 多个汉字 占 4 个字节的:中日韩超大字符集里面的汉字,有 5 万多个 1 个 utf8 ...

  8. java 英文字符 字节_3、在JAVA语言中,每个英文字符占 个字节,每个中文汉字占( )个字节。...

    [判断题]中心原子中的几个原子轨道杂化时,必形成数目相同的杂化轨道. [单选题]集合 用区间表示正确的是 ( ) [单选题]15.Java语言的类间的继承关系是 [单选题]8.编译Java Appli ...

  9. mysql汉字占几个字符_mysql和oracle的一个汉字占几个字符

    以前一直使用oracle11g,一个汉字占3个字节,所以在操作mysql时也一直这样分配长度. 今天测试了下发现不对了 可以看到第一个的长度确实是15,但是第二个为什么是5? 在网上找到资料:char ...

最新文章

  1. 使用阿里云OSS上传文件
  2. 关于for循环里边是否可以用return语句
  3. .Net Core建站(1):EF Core+CodeFirst数据库生成
  4. 用UDEV服务解决RAC ASM存储设备名
  5. java-Set集合源码学习
  6. javascript:jquery.history.js使用方法
  7. Android的Intent Action 大全
  8. python 随机获取数组元素_Python创建二维数组的正确姿势
  9. 使用Apache Camel 2.14的轻松REST端点
  10. php文件解锁,php文件锁怎么用
  11. mybatisplus多表关联查询_ET工具_KETTLE多表关联
  12. oracle 结构化语言查询 DML DDL DCL
  13. CF1042F Leaf Sets
  14. 掌握STC单片机程序烧录方法只需要三步走
  15. 九阴真经 服务器列表文件,九阴真经合服_九阴真经数据互通_九阴真经公告_快吧游戏...
  16. NOIP2010导弹拦截
  17. 存储空间不足,无法处理此命令。 (异常来自 HRESULT:0x80070008)
  18. python3 get爬取网页标题、链接和链接的数字ID
  19. 如何正确对用户密码进行加密?转自https://blog.csdn.net/zhouyan8603/article/details/80473083...
  20. 【语音隐藏】基于matlab小波变换DWT结合离散余弦变换DCT音频数字水印嵌入提取【含Matlab源码 2131期】

热门文章

  1. 类选择器和搭配使用伪类选择器
  2. 《Visual C# 程序设计》课程学习(10)——第10章 Windows 窗体应用程序开发
  3. LeetCode 787. Cheapest Flights Within K Stops
  4. 中国安全防范行业协会:地震频发,安防可以为我们做些什么?
  5. C# 将本地图片插入到Excel文件中
  6. 结构光三维重建之单目标定的一种方法——建立“相位-像点-真实三维坐标”之间的关系
  7. python opencv cv2.rectangle 参数含义
  8. 什么是闭包? 闭包有哪些优缺点?
  9. Akka 指南 之「Actor 模型如何满足现代分布式系统的需求?」
  10. 专家展望未来5年深度学习发展趋势