中文与Unicode码互转(utf-8)

本文探讨了Python中Unicode与中文编码之间的转换方法,通过多个实验演示了如何使用不同的方式处理和打印中文字符串,包括使用转义序列和正则表达式进行编码和解码。

实验一、 

text = u'你好,今天天气不错'
text
print(text)

text = '\u4f60\u597d\uff0c\u4eca\u5929\u5929\u6c14\u4e0d\u9519'
text
print(text)

text = u'\u4f60\u597d\uff0c\u4eca\u5929\u5929\u6c14\u4e0d\u9519'
text
print(text)

text = '\\u4f60\\u597d\\uff0c\\u4eca\\u5929\\u5929\\u6c14\\u4e0d\\u9519'
text
print(text)
text = text.encode('utf-8').decode('unicode_escape')
text
print(text)

text = '\\u4f60\\u597d\\uff0c今天天气不错'
text
print(text)

text = '新增\u4f60\u597d\uff0c今天天气不错'
text
print(text)

import re
text = re.sub(r'(\\u[0-9a-fA-F]{4})', lambda matched: matched.group(1).encode('utf-8').decode('unicode_escape'), text)
text
print(text)

你好,今天天气不错
你好,今天天气不错
你好,今天天气不错
\u4f60\u597d\uff0c\u4eca\u5929\u5929\u6c14\u4e0d\u9519
你好,今天天气不错
\u4f60\u597d\uff0c今天天气不错
新增你好,今天天气不错
新增你好,今天天气不错

实验二:

s1 = "\u4f60"
print(s1)
s2 = "\u4f60".encode("utf-8")
print(s2)
s3 = "你".encode("utf-8")
print(s3)

你
b'\xe4\xbd\xa0'
b'\xe4\xbd\xa0'

结论:\u与中文之间可以转换,但不是unicode码。\u后面的序列的原理是什么暂不清楚

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值