gpt4 book ai didi

Python Unicode 打印错误

转载 作者:行者123 更新时间:2023-12-01 04:41:38 26 4
gpt4 key购买 nike

进行一些 unicode 测试并遇到一个我无法克服的错误。

# -- coding: utf-8 -- Enable direct Unicade-8 encoding
# Imports #
from __future__ import print_function
import locale
from unicodedata import *

locale.setlocale(locale.LC_ALL, '') # Set the locale for your system 'en_US.UTF-8'

def main():
xlist=[]
for i in range(9729, 9731):
xlist.append(eval('u"\\u{:04x}"'.format(i)))
for x in xlist:
#print(name(u' ','-'))
if name(x,'-')!='-':
#print("{} | {:04x} | {}".format(x, ord(x), name(x,'-'))) #1

print( x,'|', "%04x"%(ord(x)), '|', name(x,'-')) #2

if __name__ == '__main__':
main()

运行良好。但是,当我尝试使用标记为 #1 而不是编号 #2 的打印行进行打印时,出现此错误:

UnicodeEncodeError: 'ascii' codec can't encode character u'\u2601' in position 0: ordinal not in range(128)

我已经研究了这个错误,但它似乎与我的格式有关。但是,#1 中的格式与 #2 中的格式相同或非常相似。

如有任何帮助,我们将不胜感激。谢谢。

最佳答案

将格式化模式转换为 uniode 字符串。

print(u"{} | {:04x} | {}".format(x, ord(x), name(x,'-')))

关于Python Unicode 打印错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30586673/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com