楼主:
lihgong ( )
2023-11-06 13:26:44写嵌入式软件,离人类世界遥远,我只知道英文字ASCII code是1byte
小时候用倚天中文,BIG5编码每个字2byte
UNICODE似乎是2byte,可以表示全世界的文字,蒙蒙懂懂
阅读Joel On Software的第四章
https://www.books.com.tw/products/0010467041
这篇文章也可以在这里看到
https://www.cnblogs.com/AlphaAI/articles/3960296.html
作者:
now99 (陈在天)
2023-11-06 23:40:00推
作者:
wuyiulin (龙破坏剑士-巴斯达布雷达)
2023-11-06 23:41:00有料分享就推
作者:
saladim (杀拉顶)
2023-11-07 02:21:00推 当初直觉该encode怎么叫作decode 傻了一阵子 ORZ
作者:
ybite (小犬/小B)
2023-11-07 17:32:00Unicode 目前已经快破15万字 无法塞进2byte了因此UTF-16定义Surrogate Pair来解决(一个字32bit)Python 2的时候str是ASCII 后来新增了unicode 型态Python 3 其中一个大改就是str 一定是一串Unicode文字(unicode扶正str)需要转成特定编码再.encode('utf-8')encode出来的是bytes然后传统编码 如big5 就是要建一张大表对应Unicode也由于各种历史原因 其实这个对应并没有很完全做到1:1如PTT的Big5日文 后来很长时间是用由but维护的“社群标准”Unicode补完计画来当对应表直到后来PTT内建UTF-8编码输出模式后才解决很多问题每个语言或每个作业系统都有自己内部存Unicode的规格Python是PyUnicodeObject(PEP-393)我还记得当年Python 2处理编码真的是地狱Unicode补完计画最早是直接patch Windows 的cp950对应表后来UTF-8变成压倒性主流后 剩下PTT内部资料转换的情境了
作者:
MoonCode (MoonCode)
2023-11-07 22:12:00楼上好猛
作者: superpandal 2023-11-07 23:04:00
喔
楼主:
lihgong ( )
2023-11-07 23:19:00感谢*ybite,我把Surrogate Pair资讯也补上
啊不过同一个汉字不同写法用同一个 code point 问题无解然后难的地方在复杂语系一堆规则。
作者:
labbat (labbat)
2023-11-07 23:53:00放弃UTF-16吧,投入可变字串长度UTF-8的世界
作者:
zzLin (zzlin)
2023-11-08 00:21:00好文,学习了
作者:
eopXD (eopXD)
2023-11-08 05:13:00推
作者:
Dracarys (MayShowGunMore)
2023-11-08 09:13:00作者: jheli (我是企鹅) 2023-11-08 09:28:00
优质文,推推
作者:
Mtcat (山地猫)
2023-11-08 14:40:001
作者:
yuinami (yuinami)
2023-11-08 22:33:00感谢分享
作者:
askacis (ASKA)
2023-11-09 11:21:00你应该是写MCU之类的吧,Embedded Linux也是会碰Unicode
楼主:
lihgong ( )
2023-11-10 23:48:00感谢 *Dracarys 我把您推荐的文章也补在后记上,非常赞
看能不能再补充 BOM 的资讯? 系统常遇到这类问题.
楼主:
lihgong ( )
2023-11-11 09:53:00感谢 *kikilalagirl 我也顺便搞清楚BOM和endian的优缺
作者:
art1 (人,原来不是人)
2023-11-12 06:55:00之前碰的传输协定是小端传输,CRC 也是从小端开始
作者:
yiche (你若安好,便是晴天)
2023-11-12 09:26:00推推 最近接触到bom utf-8 上网看了一下是什么格式 就看到原po撰文了
作者:
kentyeh (kent)
2023-11-12 22:57:00大推Dracarys的两篇文章,不过阅读顺序应该反过来
作者: shibin (喜饼) 2023-11-19 12:36:00
推
作者:
Falldog (Yo)
2023-12-07 08:48:00推