gpt4 book ai didi

python - Python 中波兰语字符的 Unicode 编码

转载 作者:行者123 更新时间:2023-11-30 23:24:47 25 4
gpt4 key购买 nike

我的波兰艺术家名字如下:

Żółte słonie

在我的数据集(json 文件)中,它已编码为:

\u017b\u00f3\u0142te S\u0142onie

我正在读取 json 并进行一些预处理并将输出写入文本文件。我收到以下错误:

UnicodeEncodeError: 'charmap' codec can't encode character u'\u017b' in position 0: character maps to <undefined>

我在线查找了波兰语字符的 Unicode 编码,该编码对我来说看起来不错。由于我以前从未使用过拉丁语以外的任何语言,因此我想向 SO 社区确认这一点。如果编码是正确的,那么为什么Python不处理它?<​​/p>

谢谢,TM

最佳答案

我用Python 2.7做了简单的测试,似乎json将对象类型从str更改为unicode。因此,在将其写入文本文件之前,您必须对此类字符串进行encode()

#!/usr/bin/env python
# -*- coding: utf8 -*-

import json

s = 'Żółte słonie'
print(type(s))
print(repr(s))
sd = json.dumps(s)
print(repr(sd))
s2 = json.loads(sd)
print(type(s2))
print(repr(s2))

f = open('out.txt', 'w')
try:
f.write(s2)
except UnicodeEncodeError:
print('UnicodeEncodeError, encoding data...')
f.write(s2.encode('UTF8'))
print('data encoded and saved')
f.close()

关于python - Python 中波兰语字符的 Unicode 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23286663/

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