惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
Google DeepMind News
Google DeepMind News
腾讯CDC
V
Visual Studio Blog
Engineering at Meta
Engineering at Meta
博客园 - 司徒正美
小众软件
小众软件
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
T
Tailwind CSS Blog
Vercel News
Vercel News
爱范儿
爱范儿
Last Week in AI
Last Week in AI
G
Google Developers Blog
阮一峰的网络日志
阮一峰的网络日志
P
Proofpoint News Feed
有赞技术团队
有赞技术团队
D
DataBreaches.Net
博客园_首页
J
Java Code Geeks
云风的 BLOG
云风的 BLOG
V
V2EX
A
About on SuperTechFans
H
Hackread – Cybersecurity News, Data Breaches, AI and More
人人都是产品经理
人人都是产品经理

博客园 - 老三

“内部开源” 视野,自学,和其他 反编译yield未解决问题记录 编译,调试mono运行时 确实,是有学习曲线的 mono 的Sgen mono 执行顺序 *nix mono 找不到 MySql.Data Could not be loaded *nix,mono运行reflector MD5加密引出的一段代码 【翻译】正确的精神 11期Beta技术沙龙总结体会 记一次Cookie调试 Hubble.net Maillist 【译文】版本一很糟,但也坚持发布 《重构》读书体会以及近期相关工作 NHibernate no session or session was closed问题以及NH最佳实践 推荐the productive programmer Vim 还是 Emacs
UTF8编码
老三 · 2010-05-08 · via 博客园 - 老三

最近项目中经常用到UTF8编码以及BASE64操作。

于是有兴趣看看UFT8编码到底怎么回事。UTF8Ken ThompsonRob pike 两位大神完成的。

具体的实际上有一个表就可以弄明白了:

0XXXXXXX

110XXXXX 10XXXXXX

1110XXXX 10XXXXXX 10XXXXXX

11110XXX 10XXXXXX 10XXXXXX 10XXXXXX

UTF8编码1-4byte长度表示所有的Unicode。表格中的数字,表示固定的占位符,X表示真实的值。

那么可以表达的长度分别为:

1byte 2^7 -1

2byte 2^11 -1

3byte 2^16 -1

4byte 2^21 -1

表示方式不复杂,有时间看看.NET/mono的具体实现。