ASCII, GB2312, Unicode , UTF-8详解

字符编码标准详解与应用:ASCII、Unicode、UTF-8与GB2312 字符编码是将字符集中的字符转换成计算机能够存储和处理的数据的规则和约定。它是信息技术中不可或缺的基础,允许文本以电子形式进行存储和传输。字符编码方案的正确实施对于保证数据的完整性和兼容性至关重要,尤其是在全球化和多语言环境中。ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是一种基于拉丁字母的字符编码标准,用于显示现代英语和其他西欧语言。它是现代字符编码的鼻祖,为之后的字符编码系统奠定了基础。 阅读详情
ASCII 是一种字符集,包括大小写的英文字母、数字、控制字符等,它用一个字节表示,范围是 0-127

由于 ASCII 表示的字符非常有限,各个国家或者地区在此基础上提出了自己的字符集,比如在中国应用非常广泛的 GB2312,它为汉字提供了编码,用两个字节表示。

这些字符集之间互不兼容,相同的数字可能表示不同的字符,为信息交流带来了麻烦。

Unicode 是一种字符集,它将世界上的所有字符映射成一个唯一的数字(code point),比如字母 a 对应的数字 0x0041。目前 Unicode 还处于发展中,它所包容的字符越来越多。

在将 Unicode 表示的字符进行存储时,还需要一定的编码方式,比如 UCS-2,它用两个字节来表示 Unicode 编码的字符。而 UTF-8 是 Unicode 字符集的另外一种编码方式,它是变长度的,最多 6 个字节,小于 127 的字符用一个字节表示,与 ASCII 字符集的结果一样,因而具有非常好的兼容性,ASCII 编码下的英语文本不需要修改就可以当作 UTF-8 编码进行处理,应用非常广泛。

Python 从 2.2 开始支持 Unicode ,函数 decode( char_set )可以实现 其它编码到 Unicode 的转换,函数 encode( char_set )可以实现 Unicode 到其它编码方式的转换,这里所讲的 Unicode String 是指 UCS-2 或者 UCS-4 编码的 Code Points。

比如 ("你好").decode( "GB2312") 将得到 u'/u4f60/u597d',即 "你"和“好"的 Unicode 码分别是 0x4f60 和 0x597d
再用 (u'/u4f60/u597d').encode("UTF-8") 将得到 '/xe4/xbd/xa0/xe5/xa5/xbd',它是  “你好”的UTF-8编码结果。

参考资料:
The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) (Joel Spolsky)

Unicode for Programmers (includes Unicode in Python) (Jason Orendorff)

Python Unicode Objects (Fredrik Lundh)

Python Unicode Tutorial (ReportLab)

End to End Unicode Web Applications in Python (Martin Doudoroff)

Unicode in Python (Thijs van der Vossen)

Unicode 官方网站 http://www.unicode.org/

Unicode 的中文介绍

GB2312字符集


UCS 和 UTF 的介绍

 
Jev模型入门:从API接入到本地部署的完整实践指南 大模型的应用方式正从单一聊天窗口转向复杂的自动化工作流,而推理模型因具备指令跟随与结构化输出能力,成为构建Agent和数据处理管线的关键组件。Jev作为面向通用场景的推理模型,不仅提供了OpenAI兼容的API接口,还支持本地量化部署,兼顾隐私、可控性与长期成本。本文从模型定位出发,明确Jev与基座模型的差异,随后介绍密钥管理、API调用、参数调优,并深入演示基于Ollama与llama.cpp的本地部署流程,包括GGUF模型文件与chat template的匹配要点。针对实践中的常见问题,如密钥泄露、ma 阅读详情

相关推荐

【GNSS/Linux】BKG Ntrip Client (BNC) 的编译与安装

【GNSS/Linux】BKG Ntrip Client (BNC) 的编译与安装 1. BNC软件 1.1 软件介绍 The BKG Ntrip Client (BNC) is an Open Source multi-stream client program designed for a variety of real-time GNSS applications. It was primarily designed for receiving data streams from any Ntrip

小马甲的新马甲 7804

字符编码、常见字符集解析(ASCII、Unicode、UTF-8、GB2312等)

- ASCII简单的7位编码适用于以英语为主的国家。 - Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。 - UTF-8是一种常见的基于Unicode字符集的编码方式。 - GB2312是面向简体中文,BIG5是面向繁体中文。 - Unicode还在其发展期,Unicode、GB2312以及BIG5等多种编码共存的状况可能在以后较长的时间内都会持续下去。

人工智能算法与工程实践 1万+

手把手教你用Gazebo和VINS-MONO搞定VIO SLAM仿真(附Realsense D435i模型配置)

本文详细介绍了如何使用Gazebo和VINS-MONO构建VIO SLAM仿真环境,包括Realsense D435i模型的配置与集成。通过实战指南,帮助开发者快速搭建高保真仿真平台,优化VIO性能,并解决常见问题,适用于机器人感知与定位导航领域。

weixin_30682415的博客 159

彻底搞懂字符编码ASCII,GB2312,UNICODE,UTF-8

阅读了一篇关于编码的博客(点击打开链接)后,自己做了下总结,解释一下基础知识 基础 能看到这篇文章, 我就假设你知道二进制,字节(byte),比特位(bit)这些概念了,如果不知道就先去了解下吧。 什么是字符编码? 我们都知道,计算机只能识别二进制,任何数据都是以二进制形式存储在计算机上的,拿现实生活中的数字为例,现实中的数字是十进制的,例如 0, 1, 2, 3, 4, 5, 6, 7, 8, ...

Barry的博客 1935

OpenManus本地部署实战:从源码编译到浏览器路径优化全解析

本文详细解析了OpenManus本地部署的全过程,从源码编译到浏览器路径优化。涵盖环境准备、源码获取、模型配置、依赖安装等关键步骤,特别针对Windows系统下的chrome.exe路径修改提供了实用解决方案,帮助开发者高效完成部署并优化性能。

weixin_28826545的博客 379

f103vet6 SD卡SDIO+DMA配置避坑指南:从初始化卡死到稳定读写的全流程解析

本文详细解析STM32F103VET6芯片SD卡SDIO与DMA配置中的常见问题,从初始化卡死到读写不稳定的全流程解决方案。重点分析总线宽度配置、时钟分频调整及DMA通道管理技巧,帮助开发者避开常见陷阱,实现稳定高效的数据存储。

u0v1w2x3的博客 666

ASCII编码、GB2312编码、Unicode编码、UTF-8编码

ASCII编码(使用一个字节编码) ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0到9、标点符号,以及在美式英语中使用的特殊控制字符。其中最后一位用于奇偶校验。 问题:ASCII是单字节编码,无法用来表示中文(中文编码至少需要2个字节),所以,中国制定了GB2312编码,用来把中文编进去。但世界上有许多不同的语言,所以需要一种统一的编码。 注: .

qq_26496077的博客 2862

十年芯片资深IC设计工程师面经系列(四)SDC约束

set_driving_cell:当我们的设计是模块级(Block level)的design时,我们的设计前面一般还有其他的设计,那么前面模块的输出便是我们模块的输入,5.1set_false_path:可以单独的时钟或者路径进行约束。set drive :当我们的设计是芯片级(Chip level)的顶层设计时,芯片外围电路要驱动的是负载较大的IO单元,故需要的驱动能力较强,:set_load 是指output端口的负载,设置的值会影响输出到端口的net上的电容,从而影响相应的路径延时。

weixin_47349046的博客 1773

编码之ASCII,UTF-8(Unicode),GBK,GB2312

编码 计算机中的编码,通俗的讲就是字符怎样在计算机中的表示和存储。要弄明白编码,就要清楚这里的表示和存储这两个概念: 表示,也就是说的各种字符集(ASCII字符集,GBK字符集等),一般由码位和字符组成,其实就是字符和码位的映射。 存储,也就是如何将字符集中的字符存储在计算机中里面 直接举例来说: ASCII编码 ASCII编码由美国人发明,它采用ASCII字符集,包含了以下128个字符: 可见字符(共95个):包含小写的英文字母,数字,标点符号。 不可见字符(也称为控制字符,共33个):包含空格,换行,标

weixin_41926709的博客 1811

基于Simulink的转向控制系统仿真建模示例

本文完成了基于 Simulink 的 EPS 转向控制系统仿真,实现了:✅掌握 EPS 助力控制基本原理✅构建车速敏感的可变助力策略✅在 Simulink 中验证低速轻便、高速沉稳的手感✅达成“安全、舒适、高效”的现代转向系统。

xiaoheshang_123的博客 86

【YoloV8改进策略】上采样改进|EUCB,轻量高效的上采样模块|即插即用

YOLOv8作为当前最先进的实时目标检测与实例分割模型之一,其在速度与精度之间取得了出色的平衡。然而,在资源受限的边缘设备或对实时性要求极高的应用场景中,YOLOv8的计算开销,尤其是在特征金字塔网络(FPN)和路径聚合网络(PAN)中用于特征融合的上采样操作,仍然是一个瓶颈。YOLOv8的颈部(Neck)结构中广泛使用nn.Upsample进行上采样,该操作虽然简单,但缺乏对特征内容的感知能力,且后续通常需要标准卷积来修复因插值带来的伪影,这增加了不必要的计算负担。

m0_47867638的博客 752

unicode、utf-8、gb2312字符集,字符编码,全在这里

常说的字符集和编码区别,其实就是编码字符集和字符集编码的区别,其实,单单如果只是说字符集,没有任何编码的概念的话,那么字符集其实仅仅是一个简单的字符的集合,或者说是一个抽象的字符的集合,包括文字,符号等等,不参与任何存储形式,只是存在这么各种各样标准的字符的集合 如果仅仅是抽象的字符集,我们是无需拿出讨论的,因为没有任何异议,通俗易懂,而常说的字符集指的编码字符集,比如常见的 unicode、a...

ssliudh1226的博客 1065

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

各种编码UNICODE、UTF-8、ANSI、ASCII、GB2312、GBK详解

GBK,ISO-8859-1,GB2312的本质区别 编码有几种 ,计算机最初是在美国等国家发明的 所以表示字符只有简单的几个字母只要对字母进行编码就好 我们标准码 iso-8859-1 这就是一个标准 但是后来计算机普及了 于是就中国要使用计算机了 但是机器不认得中文,于是就有了国际码。 gbk gb2312都是这类。两个其实一个,一个是标准(发布的代号),一个是简称。后来多了个阿拉

zxh2075的专栏 5922

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【字符编码详解】ASCII、GB2312、GBK、UTF-8、UTF-16编码与Unicode字符集

在计算机世界中,只有0、1两种数字,不论是英文、中文还是数字,在计算机中都是以01的形式存储的。因此,要想把文字存储到计算机上,就要规定特定的01序列来表示文字。编码就是规定特定的01序列来表示文字的过程,编码表示了字符在计算机中的存储形式。

仅以此博客记录日常学习工作中所思所得,水平有限,难登大雅,万望海涵。 1万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【字符编码】详解ASCII、GB2312、GBK、Unicode、UTF-8、UTF-16、UTF-32

相信大家都遇到过打开一个文本文件然后出现乱码的情况,经典的"锟斤拷"乱码(bushi),如下:没在深夜见过"锟斤拷"的人,不足以语人生...好了回归正题,乱码到底是怎么来的呢?知名乱码"锟斤拷"又为何如此常见?不着急,要理解乱码,首先需要知道计算是如何存储为文字的:学过计算机的都知道,计算机只能存储0、1这两个二进制数,无论是文本文件里的数字、字母、汉字标点符号控制字符emoji😈👴等都需要用某种方式转换成二进制数字进行存储,需要的时候再读出来。

m0_55908255的博客 1840

Java编码ASCII、GB2312、GBK、Unicode、UTF-8、UTF-16 编码方式详解

1 ASCII American Standard Code for Information Interchange。最早最通用的单字节编码系统,因为发明时间早,所以ASCII编码表的设计较为简单。 结构 ASCII表是单字节字符表,此表中一个(英文)字符用一个字节表示 在ASCII中从00000000(第0个)~00011111(第31个)前32被用来作为控制字符表示各种类似:响铃、退格、换页...

JavaEdge全是干货的技术号 4244

解决中文乱码:字符编码全攻略 - ASCII、Unicode、UTF-8、GB2312详解

Q:什么是中文乱码?GPT4:中文乱码是指在计算机系统或软件中,由于字符编码不一致或处理不当,导致中文字符无法正常显示,出现乱码现象。这种现象通常表现为中文字符被替换成其他不相关的字符、符号或乱码。比如说,历史上著名的“锟斤拷”同学,就是中文乱码的绝佳代言人。Q:那什么是字符编码呢?GPT4:字符编码(Character Encoding)是一种规则或约定,它将字符(如字母、数字、标点符号等)映射到计算机中的二进制数据。简单来说,字符编码就是将人类可读的字符转换为计算机可以处理的二进制数据的过程。

在技术的广袤天地里,本博客如精准罗盘。剖析前沿科技,深掘代码奥秘,以精炼笔触,带您穿越复杂技术迷宫,速达知识彼岸。 1万+

常用字符集编码详解:ASCII 、GB2312、GBK、GB18030、UTF-8、unicode

ASCII ASCII码是7位编码,编码范围是0x00-0x7F。ASCII字符集包括英文字母、阿拉伯数字和标点符号等字符。其中0x00-0x20和0x7F共33个控制字符。 只支持ASCII码的系统会忽略每个字节的最高位,只认为低7位是有效位。HZ字符编码就是早期为了在只支持7位ASCII系统中传输中文而设计的编码。早期很多邮件系统也只支持ASCII编码,为了传输中文邮件必须使用B

zhoubl668的专栏:远帆,梦之帆! 2万+

ASCII 、GB2312、GBK、GB18030、unicode、UTF-8字符集编码详解

ASCII字符集编码ASCII码是7位编码,编码范围是0x00-0x7F。ASCII字符集包括英文字母、阿拉伯数字和标点符号等字符。其中0x00-0x20和0x7F共33个控制字符。只支持ASCII码的系统会忽略每个字节的最高位,只认为低7位是有效位。HZ字符编码就是早期为了在只支持7位ASCII系统中传输中文而设计的编码。早期很多邮件系统也只支持ASCII编码,为了传输中文邮件必须使用BASE6

如风的专栏 1077
上一篇: 计算机游戏设计的艺术
下一篇: 搜索引擎中网络爬虫的设计分析::[Source]
wx红杉树
博客等级 码龄21年 383粉丝 296原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值