当前位置: 首页 > news >正文

unicode编码和ascii编码的区别

Unicode 和 ASCII 的区别,以及它们对字符 ‘a’ 的处理:

  1. ASCII(American Standard Code for Information Interchange):

    • ASCII 是一个较早的字符编码标准。
    • 它使用 7 位二进制数来表示字符,共可以表示 128 个字符。
    • 在 ASCII 中,小写字母 ‘a’ 的数值就是 97。
  2. Unicode:

    • Unicode 是一个更现代、更全面的字符编码标准。
    • 它可以表示世界上几乎所有的书写系统的字符。
    • Unicode 使用码点(code points)来表示字符,范围从 U+0000 到 U+10FFFF。
  3. Unicode 和 ASCII 的关系:

    • Unicode 的前 128 个码点(U+0000 到 U+007F)与 ASCII 完全相同。
    • 这意味着在 Unicode 中,小写字母 ‘a’ 的码点是 U+0061,十进制值为 97,与 ASCII 相同。
  4. 为什么说 Unicode 中的 ‘a’ “不行”:

    • 实际上,Unicode 中的 ‘a’ 和 ASCII 中的 ‘a’ 在数值上是相同的。
    • 当我们说 Unicode 中的 'a' "不行"时,我们指的是在某些编程语言或环境中,不能直接将 Unicode 字符当作数值使用。
  5. 编程语言中的处理:

    • 在许多编程语言中,包括 Python 3,字符被视为 Unicode 字符而不是简单的数值。
    • 这是为了支持更广泛的字符集,但也意味着我们不能直接将字符作为数值使用。
  6. 为什么需要 ord() 函数:

    • ord() 函数在 Python 中用于获取字符的 Unicode 码点。
    • 对于 ‘a’,ord(‘a’) 返回 97,无论是在 Python 2(ASCII)还是 Python 3(Unicode)中。
  7. 实际使用:

    • 虽然 Unicode ‘a’ 和 ASCII ‘a’ 在底层表示上是相同的,但在编程语言的抽象层面上,它们被当作字符而不是数字处理。
    • 使用 ord() 是一种显式地获取字符数值表示的方法,这在不同的 Python 版本中都能正常工作。

总结:Unicode 中的 ‘a’ 实际上可以表示 97,但在编程语言的高级抽象中,字符被视为字符而非数字。使用 ord() 函数是一种安全且跨版本兼容的方法来获取字符的数值表示。

相关文章:

  • EasyCVR全方位安全守护智慧电厂:构建高效视频监控系统优势分析
  • Git大框架总结
  • 公交IC卡收单管理系统 多处 SQL注入致RCE漏洞复现
  • 15 数组——15. 三数之和 ★★
  • 抽象类、比较器和接口
  • 基于Java+VUE+echarts大数据智能道路交通信息统计分析管理系统的设计与实现
  • 在Ubuntu 16.04上安装最新版本的MySQL的方法
  • 基于单片机8路数字电压表电压采集系统
  • 服务器开通个人账户
  • Jenkins: fontconfig head is null, check your fonts or fonts configuration;
  • PostgreSQL的表碎片
  • 从0新建一个微信小程序实现一个简单跳转
  • label标签,for属性与input的id属性相匹配
  • UE(网络)
  • excel导出图片---HSSFWorkbook--SXSSFWorkbook
  • chrome扩展demo1-小时钟
  • C语言笔记(第一章:C语言编程)
  • docker-consul
  • GitUp, 你不可错过的秀外慧中的git工具
  • JavaScript DOM 10 - 滚动
  • Js基础——数据类型之Null和Undefined
  • log4j2输出到kafka
  • mysql innodb 索引使用指南
  • opencv python Meanshift 和 Camshift
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • overflow: hidden IE7无效
  • PAT A1017 优先队列
  • php中curl和soap方式请求服务超时问题
  • vue--为什么data属性必须是一个函数
  • webpack4 一点通
  • 从输入URL到页面加载发生了什么
  • 电商搜索引擎的架构设计和性能优化
  • 番外篇1:在Windows环境下安装JDK
  • 记一次删除Git记录中的大文件的过程
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 前端攻城师
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 用element的upload组件实现多图片上传和压缩
  • 找一份好的前端工作,起点很重要
  • ​第20课 在Android Native开发中加入新的C++类
  • ​香农与信息论三大定律
  • ‌[AI问答] Auto-sklearn‌ 与 scikit-learn 区别
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • #if 1...#endif
  • $.ajax()参数及用法
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (1)(1.13) SiK无线电高级配置(五)
  • (1)虚拟机的安装与使用,linux系统安装
  • (办公)springboot配置aop处理请求.
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (十六)、把镜像推送到私有化 Docker 仓库
  • (一) 初入MySQL 【认识和部署】
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包