如何将 ASCII 的字母转成 UTF-8

2020 年 8 月 31 日
 songdg
譬如'我选 A' [ord('A')=65]转成'我选A' [ord('A')=65313]
3103 次点击
所在节点    Python
8 条回复
ysc3839
2020 年 8 月 31 日
你举的例子应该是把半角字母转换成全角字母。
可以直接用个 map 记录对应关系,然后遍历每个字符,去 map 中看是否有对应关系。
ysc3839
2020 年 8 月 31 日
或者可以利用 Unicode 全角字符和对应的半角字符编码值相差 0xFEE0 的特性,先判断字符编码是否在要转换的范围内,是的话就加上 0xFEE0 。
https://stackoverflow.com/a/36693548
baobao1270
2020 年 8 月 31 日
1 、你的需求不叫 ASCII 转 UTF-8,而是全角转半角,准确的说是标准的西文字符转换为国标宽字符。ASCII 和 UTF-8 只是编码,而你要转换的是字符。
2 、转换方式:查表
fxxwor99LVHTing
2020 年 8 月 31 日
utf8 兼容 ascii 字符集的
songdg
2020 年 9 月 2 日
@ysc3839 谢谢,知识太匮乏了。
songdg
2020 年 9 月 2 日
@ysc3839 谢谢帮助,都没想到全角和半角的问题。
songdg
2020 年 9 月 2 日
@fxxwor99LVHTing 谢谢帮助
songdg
2020 年 9 月 2 日
@baobao1270 谢谢帮助

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/702692

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX