unicode \u 编码字符与中文的互换

本文介绍了如何将中文汉字转换为Unicode编码字符,以及如何将自定义的Unicode编码字符转回中文汉字。通过案例展示了前16x16个汉字的Unicode编码,并提供了一个判断字符是否为中文的函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本人电脑win10 64位系统, python版本3.7  若系统与版本不同,以下内容仅供参考

      本文章内容非unicode编码字符解码到中文,想看解码的请绕道!

.

.下面开始上内容:

      在汉字转拼音中,要用到unicode编码,用于区分各个汉字,取出汉字的四位编码,方便我们构建汉字拼音语音表

1.中文汉字转unicode编码字符,并取出该汉字的四位编码

hanzi="明"
str1=hanzi.encode("unicode_escape")#转字节字符
print(str1)#打印字节字符
bma=str(str1)[-5:][:4]#字节转字符并取出单个字的4位u编码

下面为精简版

hanzi="明"
str1=str(hanzi.encode("unicode_escape"))[-5:][:4]#取单字的4位u编码

.

.

2.自定义编码字符转中文汉字 

编码字符范围是:4e00 到 u9ff

无r的字符编码,可以直接print()打印出来,但这种字符编码不可修改变更。

用'\u'+'4e00'自定义组合编码有转义会报错,所以前面要加r。有r的字符编码是不能用print()打印出汉字的,要用专门的编码转换

案例:

str2=r"\u"+"4e00"#自定义汉字编码
wenzi=str2.encode('utf-8').decode('unicode_escape')#编码到汉字
print(wenzi)#打印汉字

.

.

3.案例,手工组合字符编码  并取出该编码的汉字 前16x16个汉字

aas=['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F']
wenzi2=""
for i in range(0,16):
    rr2='4e'+aas[i]#组合编码前3位
    for o in range(0,16):
        wpp=r'\u'+rr2+aas[o]#组完整编码
        wenzi2+=wpp.encode('utf-8').decode('unicode_escape')#编码转汉字并存放
print(wenzi2)#打印出所有的汉字

   部分字符编码表

 U+   0   1  2   3  4  5  6   7  8  9   A  B  C  D  E  F  
-----------------------------------------------------
4e00 一 丁 丂 七 丄 丅 丆 万 丈 三 上 下 丌 不 与 丏
4e10 丐 丑 丒 专 且 丕 世 丗 丘 丙 业 丛 东 丝 丞 丟
4e20 丠 両 丢 丣 两 严 並 丧 丨 丩 个 丫 丬 中 丮 丯
4e30 丰 丱 串 丳 临 丵 丶 丷 丸 丹 为 主 丼 丽 举 丿
4e40 乀 乁 乂 乃 乄 久 乆 乇 么 义 乊 之 乌 乍 乎 乏
4e50 乐 乑 乒 乓 乔 乕 乖 乗 乘 乙 乚 乛 乜 九 乞 也
 

.

.

代码来源网络,xiaoyong收集后,理解修改并验证可行。

最后分享一个小技巧:

根据unicode编码来判断字符是否中文:

已做好函数,方便使用。

#判断字符是否中文
#输入:字符 str
#返回:True 中文 , False 非中文

def pandan_chinese(aa):

    if '\u4e00' <= aa <= '\u9fff':
        return True
    else:
        return False

.

.

.

给点个赞呗!

.

.

.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值