当前位置: 首页 > news >正文

字符集学习

标准ASCII字符集

ASCII(American Standard Code for Information Interchange):美国信息交换标准代码,包括了英文,符号等

标准ASCII使用一个字节存储一个字符,首位是0,总共可以表示128个字符

GBK(汉字内码扩展规范,国标)

汉字编码字符集,包含了2万多个汉字等字符,GBK中一个中文字符编码成两个字节的形式存储

注意:GBK兼容了ASCII字符集

GBK规定:汉字的第一个字节的第一位必须是1

Unicode字符集(统一码,也叫万国码)

Unicode是国际组织制定的,可以容纳世界上所有文字,符号的字符集

提供了多种编码方案

UTF-32
使用四个字节表示一个字符

UTF-8
是Unicode字符集的一种编码方案,采取可变长编码方案,共分四个长度区:1个字节,2个字节,3个字节,4个字节

英文字符、数字等只占1个字节(兼容标准ASCII编码),汉字字符占用3个字节

如果是一个字节,第一位必须是0
如果是两个字节,第一个字节前三位必须是110,第二个字节前两位必须是10
如果是三个字节,第一个字节前四位必须是1110,后面两个字节前两位必须是10
如果是四个字节,第一个字节前五位必须是11110,后面三个字节前两位必须是10
在这里插入图片描述

技术人员在开发时都应该使用UTF-8编码

字符编码时使用的字符集和解码时使用的字符集必须一致,否则出现乱码

比如:使用gbk对如下字符串进行编码

在这里插入图片描述
使用UTF-8进行解码
在这里插入图片描述

英文、数字一般不会乱码,因为很多字符集都兼容了ASCII编码

编码:把字符按照指定字符集编码成字节
解码:把字节按照指定字符集解码成字符

Java代码完成对字符的编码

方法说明
byte[] getBytes()使用平台的默认字符集将该String编码为一系列字节,将结果存储到新的字节数组中
byte[] getBytes(String charsetName)使用指定的字符集将该String编码为一系列字节,将结果存储到新的字节数组中

Java代码完成对字符的解码

方法说明
String (byte[] bytes)通过使用平台的默认字符集解码指定的字节数组来构造新的String
String(byte[] bytes,String charsetName)通过指定的字符集解码指定的字节数组来构造新的String

总结:

ASCII字符集:只有英文、数字、符号等,占1个字节
GBK字符集:汉字占2个字节、英文、数字占1个字节
UTF-8字符集:汉字占3个字节、英文、数字占1个字节

http://www.dtcms.com/a/305108.html

相关文章:

  • 实现多路标注截图
  • GESP2025年6月认证C++七级( 第三部分编程题(1)线图)
  • Spring Boot中的this::语法糖详解
  • Spring与数学的完美碰撞
  • 偏二甲肼气体浓度报警控制系统
  • 自适应双门限的能量检测算法
  • Python算法实战:从排序到B+树全解析
  • TDengine:用AI改变数据消费范式
  • linux命令ps的实际应用
  • 学习Python中Selenium模块的基本用法(3:下载浏览器驱动续)
  • 微服务快速入门
  • BehaviorTree.Ros2 编译教程
  • JavaWeb 入门:JavaScript 基础与实战详解(Java 开发者视角)
  • 飞算科技:以原创之力,开启Java开发新纪元与行业数智变革
  • 技术QA | GNSS模拟器如何赋能自动驾驶?聚焦HIL、多实例与精准轨迹仿真的技术优势
  • Ignite(Apache Ignite)中计算与数据共置的核心概念和编程实践
  • 小程序视频播放,与父视图一致等样式设置
  • Electron将视频文件单独打包成asar并调用
  • 如何在Linux系统下进行C语言程序的编写和debug测试
  • 解锁全球数据:Bright Data MCP 智能解决代理访问难题
  • 三极管、MOS 管、CMOS 管的特点、属性及综合对比
  • DAY27 函数专题2:装饰器
  • 【算法训练营Day18】二叉树part8
  • BOSMA博冠推出8K广播级讯道摄像机DC0300 EFP
  • 项目开发需求管理
  • 项目目标如何设定?遵循的主要原则分析
  • unity 使用PropertyDrawer 在Inspector 面板上自定义字段的显示方式
  • Android User版本默认用test-keys,如何改用release-keys
  • IDDR原语基本使用
  • 【三桥君】AI技术发展下,单智能体局限性凸显,如何通过MCP和A2A协议实现智能体团队协作转变?