字符编码发展梳理

本文从Golang中的字符串出发,探讨字符编码的发展历程,从ASCII码开始,涵盖EASCII、GB2313、BIG5、GBK到GB18030,最终到达Unicode字符集及其不同编码形式如UTF-8、UTF-16和UTF-32。文章介绍了字符集与字符编码的区别,并讨论了字符编码中常见的问题和解决方案。
摘要由CSDN通过智能技术生成

从 Golang 中的字符串出发

  • len("ab你好") 返回多少

  • 已经存在用下标遍历字符串的方式,为什么还要有for _,ch range str ,有什么区别

从 ASCII 字符编码到 UTF-8

起点: ASCII 码

首先我们知道在计算机的世界中,一切数据都是以字节流的形式存在。例如下图,一个字节(8 个 bit)可以表示从 0 - 255 之间的整数。

但是我如果想表示一个字符呢?

字符定义

电脑电信领域中,字符(Character)是一个信息单位。对使用字母系统音节文字自然语言,它大约对应为一个音位、类音位的单位或符号。简单来讲就是一个汉字、假名、韩文字……,或是一个英文、其他西方语言的字母。字符的例子有:字母数字系统标点符号

此时需要一个字符与整数之间的映射关系。例如,用整数 97 -> a。你传入一个整数,并且指明这个整数是字符类型,那么计算机就给你显示成字符

yMWYYm-2022-03-04

这时候最通用的 ASCII (American Standard Code for Information Interchange,美国信息交换标准代码) 在 1963 年

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值