首页 > 其他分享 >Unicode 编码

Unicode 编码

时间:2024-09-02 16:54:27浏览次数:11  
标签:编码 UTF 字节 字符 码位 Unicode

Unicode 是用于计算机处理的文本的表示的通用字符集编码标准。通过给每个字符一个编号,程序员可以创造不同的字符编码集,让计算机在同一个文件或程序中存储、处理和传输任何语言组合。如果没有正确标明数据的字符集,其它程序和计算机就会错误地显示该文本(乱码),或者在处理过程中损坏文本。Unicode 只规定了每个字符的编号,编号是十进制的,UTF-32、UTF-8、UTF-16(Unicode Transformation Formats) 则给出了如何存储这些编号,存储形式则是二进制,也就是说 Unicode 是字符集,UTF-x 是字符集编码。

字符编码过程:Grapheme → Code Point \underset{decode}{\overset{encode}{\leftrightharpoons }} Code Unit

  • Grapheme,字位/字素,人类写作系统的简单单元、书写单位
  • Code Point,码位/码点,码位是一个数值,Grapheme 图形映射到一个或多个码位
  • Code Unit,码元,二进制编码

ASCII,西文字符编码,只有一种编码策略,将字符映射到 1 字节。ASCII 中 1 字位就是 1 字节,而 Unicode中,1 字位可能对应多个码位,1 个码位可能对应多个字节。

Unicode 的编码策略:

  • UTF-32,定长字符编码,将每个码位转为 4 字节的码元,造成空间浪费。
  • UTF-8,可变长度字符编码,将每个码位映射到 1~4 字节之间,码位尺寸与码元字节不等,这样使得索引定位它们更加困难,也对性能有些影响。可以向后兼容 ASCII 编码。
  • UTF-16,变长字符编码,每个码位被编码为 1~2 个 16 bit 的码元。在 Unicode 基本多文种平面定义的字符(无论是拉丁字母、汉字或其他文字或符号),一律使用 2 字节储存。而在辅助平面定义的字符,会以代理对(surrogate pair)的形式,以两个 2 字节的值来储存。UTF-16比起 UTF-8,好处在于大部分字符都以固定长度的字节(2 字节)储存,但UTF-16却无法兼容于 ASCII 编码。

不同的编码策略可能将同一码位编码成不同的码元。

标签:编码,UTF,字节,字符,码位,Unicode
From: https://blog.csdn.net/dawnkylin/article/details/141789617

相关文章

  • 「编码新纪元」— AI代码助手创新出击!
    抓住八月的小尾巴~「腾讯云」AI代码助手重磅上新!①上架旗舰版、专享版并支持知识库问答及企业研效看板,助力开发团队增质提效。②个人版及旗舰版新增微信一键登录功能,与传统扫码登录后需要认证注册等繁琐流程Saygoodbye!公测福利:旗舰版限免公测名额已开放,点击“阅读原文”......
  • 【编程规范具体案例(基于Qt、微软、谷歌和AUTOSAR C++14 参考)】 C++ 编码规范 之程序设
    目录标题基本元素3.1类和结构体3.1.1\[必须]使用恰当的访问修饰符来管理类成员的可见性3.1.2\[必须]在类中合理使用默认的特殊成员函数3.1.3\[必须]提供清晰且尽可能一致的类接口3.1.4\[建议]优先使用初始化列表来初始化类成员3.1.5\[建议]使用抽......
  • Android 读取 XML 文件之 SAX 解析编码模板
    一、SAX解析概述SAX(SimpleAPIforXML)是一种基于事件的XML解析技术,它一边读取XML文件一边解析,占用内存少,适用于大型文件SAX解析器会触发一系列事件,例如,开始解析元素、结束解析元素、遇到字符数据等,我们只需要实现对应的事件处理器来处理这些事件即可二、SAX......
  • AI编码新时代:免费人工智能助手Blackbox AI
    前言:在当今快速发展的科技时代,人工智能已经渗透到我们生活的方方面面,从智能手机的语音助手到智能家居控制系统,再到在线客服和个性化推荐算法,AI智能工具正变得越来越普遍。它们以其高效、智能和用户友好的特性,极大地提升了我们的生活和工作效率。作为一个热衷于尝试各种......
  • python中的编码&解码
    https://cloud.tencent.com/developer/article/2278351编码(encode):将Unicode字符串转为特定编码格式对应的字节码的过程;就是将字符串转换为字节码解码(decode):将特定编码格式的字节码转为对应的Unicode字符串的过程;就是将字节码转换为字符串正确写法只有str.encode()和bytes.decod......
  • 【大模型理论篇】RoPE旋转位置编码底层数学原理分析
    1.位置编码对于NLP模型的作用             位置编码(PositionalEncoding)在大模型(例如Transformer架构)中起到了非常重要的作用。没有位置编码的信息,模型会丧失序列的顺序信息,导致模型退化成一个简单的“词袋模型”(BagofWordsmodel)。        在Tra......
  • 编码技术跃迁,H.265高效编码赋能EasyCVR视频汇聚平台的5大优势
    随着科技的飞速发展和社会的不断进步,视频压缩编码技术已经成为视频传输和存储中不可或缺的一部分。在众多编码标准中,H.265(HEVC,HighEfficiencyVideoCoding)和H.264(AVC,AdvancedVideoCoding)是最为重要的两种。本文将深入分析H.265与H.264编码的区别,并探讨EasyCVR视频汇聚平台在视......
  • 最高等级,首批通过!文心快码通过中国信通院可信AI智能编码工具评估
    在当下这个快节奏的开发时代,每一个程序员都在追求更高效、更准确的编码方式。而在这个追求中,百度文心快码(BaiduComate)不负众望,从众多AI智能编码工具中脱颖而出,成为中国信通院首批“可信AI智能编码工具”评估中的佼佼者,荣获最高评级。想象一下,你正在为一段复杂的代码逻辑而苦恼,文心......
  • stm32 EXTI外部中断(标准库)(旋转编码器计次&对射式红外传感器计次)
    1.理论中断系统1.中断中断:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行2.中断优先级中断优先级:当有多个中断源同时申请中断时,CPU会根据中断源的轻重缓急进行裁决,优先响应......
  • 赛场上,教练作战计划迅速Get!编码时,巨量复杂代码轻松掌握!
    赛场上,教练作战计划迅速Get!编码时,巨量复杂代码轻松掌握!与文心快码一起为再次夺冠蓄力!赛场上,教练作战计划迅速Get!编码时,巨量复杂代码轻松掌握在赛场上,教练以敏锐的洞察力,超强的理解力,迅速制定作战计划。同样,在编程的浩瀚宇宙里,面对巨量而复杂的代码海洋,文心快码将成为每位......