呜啦!日常碎碎念,偶尔掉落优质前端博文推荐、学习资源等
网页:https://tg.cosine.ren
本频道的搜索Bot 来辣 👉 @cosSearchBot
私聊直接发消息就可以搜索啦~
🔖tags
#优质博文 #资源推荐 #博客更新 #碎碎念 #项目更新 #手工 #书摘 #阮一峰的科技周刊 #新动态
图频:Cosine 🎨 Gallery @CosineGallery
猫片: @cosine_cat
联系频道主:@cosine_yu
网页:https://tg.cosine.ren
本频道的搜索Bot 来辣 👉 @cosSearchBot
私聊直接发消息就可以搜索啦~
🔖tags
#优质博文 #资源推荐 #博客更新 #碎碎念 #项目更新 #手工 #书摘 #阮一峰的科技周刊 #新动态
图频:Cosine 🎨 Gallery @CosineGallery
猫片: @cosine_cat
联系频道主:@cosine_yu
#优质博文 #编码
2023 年每个软件开发者都必须知道的关于 Unicode 的最基本的知识(仍然不准找借口!)
让我们总结一下:
1. Unicode 已经赢了。
2. UTF-8 是传输和储存数据时使用最广泛的编码。
3. UTF-16 仍然有时被用作内存表示。
字符串的两个最重要的视图是字节(分配内存/复制/编码/解码)和扩展字位簇(所有语义操作)。
4. 以码位为单位来迭代字符串是错误的。它们不是书写的基本单位。一个字位可能由多个码位组成。
5. 要检测字位的边界,你需要表格。
6.对于所有 Unicode 相关的东西,甚至是像 strlen、indexOf 和 substring 这样的无聊的东西,都要使用 Unicode 库。
7. Unicode 每年更新一次,规则有时会改变。
8. Unicode 字符串在比较之前需要进行归一化。
9. Unicode 在某些操作和渲染中依赖于区域设置。
10. 即使是纯英文文本,这些都很重要。
总的来说,是的,Unicode 不完美,但
1. 有一个能覆盖所有可能语言的编码、
2. 全世界都同意使用它、
3. 我们可以完全忘记编码和转换之类的东西
2023 年每个软件开发者都必须知道的关于 Unicode 的最基本的知识(仍然不准找借口!)
让我们总结一下:
1. Unicode 已经赢了。
2. UTF-8 是传输和储存数据时使用最广泛的编码。
3. UTF-16 仍然有时被用作内存表示。
字符串的两个最重要的视图是字节(分配内存/复制/编码/解码)和扩展字位簇(所有语义操作)。
4. 以码位为单位来迭代字符串是错误的。它们不是书写的基本单位。一个字位可能由多个码位组成。
5. 要检测字位的边界,你需要表格。
6.对于所有 Unicode 相关的东西,甚至是像 strlen、indexOf 和 substring 这样的无聊的东西,都要使用 Unicode 库。
7. Unicode 每年更新一次,规则有时会改变。
8. Unicode 字符串在比较之前需要进行归一化。
9. Unicode 在某些操作和渲染中依赖于区域设置。
10. 即使是纯英文文本,这些都很重要。
总的来说,是的,Unicode 不完美,但
1. 有一个能覆盖所有可能语言的编码、
2. 全世界都同意使用它、
3. 我们可以完全忘记编码和转换之类的东西