ASCII、ANSI、Unicode
ASCII 是单字节编码: 0000 0000 - 0111 1111 即 0x00 - 0x7F
ANSI 是双字节编码:0000 0000 1000 0000 - 1111 1111 1111 1111 即0x0080-0xFFFF, 之所以从0x80开始,是为了保证0x00-0x7F和ASCII兼容
ANSI 不是一种特定的编码,而是不同地区扩展编码方式的统称。
例如对于简体中文,ANSI指的是GBK,对于繁体中文,ANSI指的是BIG5,对于日文,ANSI指的是SHIFT JIS
在windows的cmd框中,右击--属性,可以查看当前的编码方式和代码页
Unicode是一套字符集,可以理解为一张 字符 和 二进制 之间 的 对应表格。
字符集和字符编码是不同的,字符编码考虑的是如何将字符对应的字符编号存到计算机中,例如对于变长存储方案(不同字符占用字节数不同),字符编号在存储之间必须要经过转换,在读取时还要再逆向转换一次,这套转换方案叫做字符编码
有些字符集在制定时就考虑到了编码问题,如ASCII、GB2312、GBK、BIG5等,所以你可以称它们为字符集,也可以称字符编码
而Unicode只定义了字符集,置于怎么编码,那是字符编码的事,你可以用UTF-8、UTF-16、UTF-32这几种编码方式,将Unicode存储到计算机中
参考博客:https://www.cnblogs.com/lanhaicode/p/11214827.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?