字符编码:ASCII 和 Unicode
ASCII和Unicode都是计算机用来表示字符的编码标准。简单来说ASCII 是 Unicode 的子集Unicode 是现代编程的通用标准。一、ASCII早期的字符集ASCII美国信息交换标准代码诞生于 1960 年代是计算机最基础的字符编码标准。它用7 位二进制表示一个字符总共可以表示 128 个字符0-127。┌─────────────────────────────────────────────────────────────┐ │ ASCII 字符集 (0-127) │ ├───────────────┬─────────────────────────────────────────────┤ │ 0-31 │ 控制字符不可打印 │ │ 32 │ 空格 │ │ 33-47 │ ! # $ % ( ) * , - . / │ │ 48-57 │ 0-9数字 │ │ 58-64 │ : ; ? │ │ 65-90 │ A-Z大写字母 │ │ 91-96 │ [ \ ] ^ _ │ │ 97-122 │ a-z小写字母 │ │ 123-127 │ { | } ~ DEL删除 │ └───────────────┴─────────────────────────────────────────────┘特点只支持英文字母、数字、标点符号无法表示中文、日文、韩文等非英语字符Python 示例# 字符 ↔ ASCII 码转换 print(ord(A)) # 65 print(chr(65)) # A print(ord(0)) # 48 print(chr(97)) # a二、ASCII 的局限多语言无法兼容ASCII 只用了 7 位而计算机存储的基本单位是字节8 位多出来的 1 位是空闲的。于是各国开始用这多出来的一位来定义自己的编码编码语言说明GB2312/GBK中文中国国家标准Shift-JIS日文日本标准EUC-KR韩文韩国标准问题同一个 0x80-0xFF 字节在不同国家编码中代表不同字符 →乱码不同语言编码互不兼容 →无法混合使用三、Unicode统一所有字符的万国码Unicode的目标是统一世界上所有文字为每一个字符分配一个唯一的编号码点Code Point。相关概念1. 码点Code Point每一个字符对应的唯一数字编号。┌─────────────────────────────────────────────────────────────┐ │ Unicode 码点示例 │ ├─────────────────────────────────────────────────────────────┤ │ A → U0041 │ │ 中 → U4E2D │ │ → U1F60A │ │ DŽ → U01C4 │ └─────────────────────────────────────────────────────────────┘2. 平面PlaneUnicode 目前有 17 个平面每个平面包含 65536 个码点。平面范围内容BMP基本多文种平面U0000 ~ UFFFF最常用字符含中文、英文、常用符号辅助平面U10000 ~ U10FFFF生僻字、Emoji如 3. 编码方式UTF-8、UTF-16、UTF-32Unicode 只是给字符分配了编号还需要规定这个编号在计算机中如何存储这就是UTF-8、UTF-16、UTF-32。编码可变长特点适用场景UTF-8是1-4 字节兼容 ASCII节省空间互联网标准最常用UTF-16是2 或 4 字节对中文等较紧凑Windows、Java 内部UTF-32否4 字节固定长度处理快内存大、处理方便的场景UTF-8 的编码规则┌─────────────────────────────────────────────────────────────┐ │ UTF-8 编码规则 │ ├───────────────┬─────────────────────────────────────────────┤ │ 码点范围 │ UTF-8 字节序列 │ ├───────────────┼─────────────────────────────────────────────┤ │ U0000 ~ U007F│ 0xxxxxxx1字节兼容 ASCII │ │ U0080 ~ U07FF│ 110xxxxx 10xxxxxx2字节 │ │ U0800 ~ UFFFF│ 1110xxxx 10xxxxxx 10xxxxxx3字节 │ │ U10000~U10FFFF│ 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx4字节│ └───────────────┴─────────────────────────────────────────────┘Python 示例# 字符 → Unicode 码点 print(hex(ord(A))) # 0x41 print(hex(ord(中))) # 0x4e2d # 码点 → 字符 print(chr(0x4E2D)) # 中 print(chr(0x1F60A)) # # UTF-8 编码 print(中.encode(utf-8)) # b\xe4\xb8\xad print(中.encode(utf-8).hex()) # e4b8ad四、ASCII 和 Unicode 的关系ASCII 是 Unicode 的真子集ASCII 的 0-127 个字符在 Unicode 中的码点相同也是 U0000 ~ U007FUTF-8 编码中ASCII 字符占 1 字节完全兼容 ASCII所以很多文本文件看不出区别。五、其他场景建议内部处理使用 Unicode 字符串Python 3 默认网络传输/文件存储使用UTF-8编码打开文件指定encodingutf-8HTTP 响应设置Content-Type: text/html; charsetutf-8数据库连接字符集设置为utf8mb4MySQL或UTF-8PostgreSQLPython 示例# 写入 UTF-8 文件 with open(file.txt, w, encodingutf-8) as f: f.write(Hello 世界 ) # 读取 UTF-8 文件 with open(file.txt, r, encodingutf-8) as f: content f.read() print(content)概念说明ASCII7 位编码128 个字符仅支持英文Unicode统一字符集为每个字符分配唯一码点UTF-8Unicode 的存储方式变长编码兼容 ASCIIPython 3字符串默认使用 Unicode其实ASCII 是过去时而Unicode 是现在时UTF-8 是通用存储格式。 在 Python 3 中字符串默认就是 Unicode读写文件时记得指定encodingutf-8。

相关新闻

PandasGUI终极指南:告别代码烦恼,可视化数据分析如此简单!

PandasGUI终极指南:告别代码烦恼,可视化数据分析如此简单!

PandasGUI终极指南:告别代码烦恼,可视化数据分析如此简单! 【免费下载链接】PandasGUI A GUI for Pandas DataFrames 项目地址: https://gitcode.com/gh_mirrors/pa/PandasGUI 还在为复杂的Pandas代码而头疼吗?每次数据分析…

2026/9/3 11:38:34 阅读更多 →
【Kimi精准匹配指南】:用3个关键问题自测——你是否属于高ROI使用者(附内部评估矩阵表)

【Kimi精准匹配指南】:用3个关键问题自测——你是否属于高ROI使用者(附内部评估矩阵表)

更多请点击: https://kaifayun.com 第一章:Kimi 适合什么人用 Kimi 是一款由月之暗面研发的大语言模型驱动的智能助手,凭借超长上下文理解(支持高达200万字输入)、多模态处理能力及本地文档深度解析能力,天…

2026/9/2 21:31:21 阅读更多 →
AI办公工具横向对比:谁真正懂中文职场?基于217个真实办公任务(会议纪要/周报生成/合同审查/多轮邮件撰写)的盲测结果揭晓

AI办公工具横向对比:谁真正懂中文职场?基于217个真实办公任务(会议纪要/周报生成/合同审查/多轮邮件撰写)的盲测结果揭晓

更多请点击: https://kaifayun.com 第一章:AI办公工具横向对比:谁真正懂中文职场? 在中文办公场景中,语言理解、格式适配、本土化协作习惯(如微信式沟通节奏、国企/民企公文规范、Excel函数方言&#xff0…

2026/8/29 9:38:13 阅读更多 →

最新新闻

ROS语音识别实战:整合科大讯飞API与Python实现机器人听觉

ROS语音识别实战:整合科大讯飞API与Python实现机器人听觉

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/3 18:04:49 阅读更多 →
FPGA图像采集实战:LVDS接口与FIFO缓冲设计复盘

FPGA图像采集实战:LVDS接口与FIFO缓冲设计复盘

简介:面向FPGA开发者的CAM(内容寻址存储器)设计资源,提供基于Xilinx 7系列FPGA的完整VHDL实现,源自官方xapp1151应用笔记。压缩包共104个文件、约1.43MB,以Vivado工程配置(xpr/xml)、…

2026/9/3 18:04:49 阅读更多 →
低轨小卫星地面站多普勒频偏建模与MATLAB仿真

低轨小卫星地面站多普勒频偏建模与MATLAB仿真

简介:面向小卫星通信与测控领域的MATLAB仿真程序包,专注多普勒频偏计算与轨道运动建模,适合航天工程、导航与通信方向的学生及工程师作为入门学习和验证参考。资源包共4个文件,包含2个可运行的.m源程序、1个MATLAB自动保存的.asv备…

2026/9/3 18:04:49 阅读更多 →
AI训练数据版权风险与合规治理:从Anthropic诉讼谈起

AI训练数据版权风险与合规治理:从Anthropic诉讼谈起

先给一个判断:AI 行业的下一轮洗牌,可能不是谁的模型参数更多,而是谁手里的训练数据真正“干净”。Sony 等音乐出版商起诉 Anthropic 的新闻,表面看是版权纠纷,实际上把 AI 行业一个长期回避的问题摆上了桌面——大模型…

2026/9/3 18:04:49 阅读更多 →
用拼图评测VLM空间推理:方法、代码与实测分析

用拼图评测VLM空间推理:方法、代码与实测分析

先问一个很实际的问题:如果只给你看一张被打乱顺序的 22 拼图块,你能判断出哪一块原本应该在左上角吗?很多人能靠边缘连续性、物体结构和场景语义轻松完成这个任务。但当我把同样的问题抛给多模态大模型(VLM)时&#x…

2026/9/3 18:04:49 阅读更多 →
OFDM系统MATLAB仿真:从原理到误码率曲线实践指南

OFDM系统MATLAB仿真:从原理到误码率曲线实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/3 18:03:48 阅读更多 →

日新闻

AI智能体辅助JS逆向:从V8环境搭建到补环境实战

AI智能体辅助JS逆向:从V8环境搭建到补环境实战

先别急着点开,这不是劝退文,而是想讲清楚一件事:用 AI 做逆向值不值得学?如果要用,怎么搭一套“V8 环境 AI 智能体”来提升效率。最近逆向圈、爬虫圈都在聊 AI Agent、AST 工程逆向、JS 逆向这些词,很多新手…

2026/9/3 0:00:29 阅读更多 →
安卓设备通过修改机型信息解锁游戏高帧率:原理、操作与风险指南

安卓设备通过修改机型信息解锁游戏高帧率:原理、操作与风险指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/3 0:00:29 阅读更多 →
ARM版OpenJDK 11安装部署全攻略:下载、配置与避坑指南

ARM版OpenJDK 11安装部署全攻略:下载、配置与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/3 0:00:29 阅读更多 →

周新闻

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

每年校招季我都会接触不少准备数据库方向笔试的同学,看到最多的状态就是:简历上写着“熟悉 MySQL”“了解索引优化”,一碰到数据库管理工程师的笔试卷,却在索引、事务、锁、备份恢复这些题目上翻车。网易这套 2018 校园招聘数据库…

2026/9/3 4:22:22 阅读更多 →
数字电路时序基石:深入理解建立时间与保持时间

数字电路时序基石:深入理解建立时间与保持时间

1. 这不是“背公式”的事:时间参数到底在约束什么你翻过数字电路教材,一定见过这两个词:建立时间(Setup Time)和保持时间(Hold Time)。它们常被并列写在触发器(Flip-Flop&#xff09…

2026/9/3 4:22:01 阅读更多 →
蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

1. 项目缘起:从赛题到超声波测距机的诞生第八届蓝桥杯单片机设计与开发国赛的题目,我至今记忆犹新。它没有直接给出一个花哨的名字,而是用“超声波测距机”这个朴实无华的功能描述,精准地勾勒出了考核的核心。对于当时备赛的我而言…

2026/9/3 4:22:59 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/3 4:17:49 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/3 4:18:56 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/3 4:21:44 阅读更多 →