Python 3中如何将字典中的Unicode编码字符串转为实际字符?
问题:如何将字典中存储的Unicode编号字符串转为实际字符?
你的代码尝试从字典中取出Unicode编号字符串并转为字符,但未得到预期结果,原代码如下:
unicodeChars = {'bullet': 'u+2022'} print(chr(unicodeChars['bullet']))
问题原因
chr()函数要求传入整数类型的Unicode码点,而你字典中存储的是字符串格式的'u+2022',直接传入会触发类型错误,无法正确解析为字符。
解决方法
有两种可行的修改方式:
方式1:直接存储整数码点(推荐)
将字典中的值改为十六进制整数形式(去掉u+前缀,用0x标识十六进制):
unicodeChars = {'bullet': 0x2022} print(chr(unicodeChars['bullet'])) # 输出:•
方式2:保留字符串格式,先转换为整数
如果必须存储u+xxxx格式的字符串,需要先提取其中的十六进制部分,转换为整数后再传入chr():
unicodeChars = {'bullet': 'u+2022'} # 拆分字符串,提取+后的十六进制内容,转为整数 code_point = int(unicodeChars['bullet'].split('+')[1], 16) print(chr(code_point)) # 输出:•
内容的提问来源于stack exchange,提问作者TechyBenji
相关产品推荐
相关产品推荐

