随笔 - 34, 文章 - 0, 评论 - 0, 阅读 - 13595
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

常见字符编码了解:ASCII、GBK、IS0-8859-1、UTF-8

Posted on   池塘鱼  阅读(1009)  评论(0编辑  收藏  举报
  • 一、相关术语:
  • 字符集(charset):也叫编码表,是一个系统支持的所有字符的集合,包括各个国家的文字、数字、标点符号、图形符号等。
  • 字符编码(Character Encoding):自然语言的字符和计算机二进制之间的一种转换规则。
  • 编码:字符——>字节
  • 解码:字节——>字符

 

二、常见字符编码:

计算机要准确地存储和识别各种字符,需要进行字符编码,一套字符集必然有一种字符编码。常见字符编码包括ASCII、Unicode、GBK等。

  • ASCII字符集:
    • ASCII(American Standard Code for Information Interchange ,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,用于显示现代英语,主要包括控制字符(回车键、退格、换行键等)和可显示字符(英文大小写字符、阿拉伯数字和西文符号)。
    • 基本的ASCII字符集,使用7位(bits)表示一一个字符,共128字符。ASCII的扩展字符集使用8位(bits)表示一个字符,共256字符,方便支持欧洲常用字符。

 

  • IS0-8859-1字符集:
    • 拉丁码表,别名Latin-1,用于显示欧洲使用的语言,包括荷兰、丹麦、德语、意大利语、西班牙语等。
    • IS0-8859-1使用单字节编码,兼容ASCII编码

 

  • GBxxx字符集:
    • GB就是国标的意思,是为了显示中文而设计的一套字符集。
    • GB2312:简体中文码表。一个小于127的字符的意义与原来相同。但两个大于127的字符连在一起时,就表示一一个汉字,这样大约可以组合了包含7000多个简体汉字,此外数学符号、罗马希腊的字母、日文的假名们都编进去了,连在ASCII里本来就有的数字、标点、字母都统统重新编了两个字节长的编码,这就是常说的“全角”符,而原来在127号以下的那些就叫“半角”字符了。

    • GBK:最常用的中文码表。是在GB2312标准基础上的扩展规范,使用了双字节编码方案,共收录了21003个汉字,完全兼容GB2312标准,同时支持繁体汉字以及日韩汉字等。
    • GB18030:最新的中文码表。收录汉字70244个,采用多字节编码,每个字可以由1个、2个或4个字节组成。支持中国国内少数民族的文字,同时支持繁体汉字以及日韩汉字等

 

  • Unicode字符集:
    • Unicode编码系统为表达任意语言的任意字符而设计,是业界的一种标准,也称为统一码、标准万国码。它最多使用4个字节的数字来表达每个字母、符号,或者文字。有三种编码方案,UTF-8、UTF-16和UTF-32。最为常用的UTF-8编码。

 

    • UTF-8编码,可以用来表示Unicode标准中任何字符,它是电子邮件、网页及其他存储或传送文字的应用中,优先采用的编码。互联网工程工作小组(IETF)要求所有互联网协议都必须支持UTF-8编码。所以,我们开发Web应用,也要使用UTF-8编码。它使用一至四个字节为每个字符编码,编码规则:
      • 1. 128个US-ASCII字符,只需一个字节编码。
      • 2. 拉丁文等字符,需要二个字节编码。
      • 3. 大部分常用字(含中文),使用三个字节编码。
      • 4. 其他极少使用的Unicode辅助字符,使用四字节编码。

 

编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示