python - Python:保留德语特殊字符并解码\x84的字符串编码
问题描述
我目前正在处理一些采访记录。我的目标是阅读这些成绩单,以便稍后对它们执行一些自然语言处理任务。成绩单是德语,成绩单是 .rtf 文件。我使用 rtf_to_text
from 函数striprtf
读取成绩单。输出是一个字符串对象。
这实际上效果很好 - 但是在某些成绩单中,字符没有正确解码,例如:
Out: "Ähm, [..} du kannst ruhig \x84du\x93 sagen."
原文应为:
"Ähm, [..} du kannst ruhig "du" sagen."
有没有办法在保留德语特殊字符(例如“Ä”)的同时正确解码?
如果我这样做,.encode("utf-8").decode("ascii")
我会丢失 \x84 和 \x93 以及所有德语特殊字符。
解决方案
不,没有 Ä 保留其 Unicode 代码点的编码(我猜输入有\xe4
?),而字节\x84
和\x93
其他含义。
可能正确的解决方法是找出原始 RTF 使用的编码并在解析 RTF 文件时正确解码。
https://tripleee.github.io/8bit/#84显示了许多编码,其中\x84
解码为 Unicode 代码点U+201E;除了cp874
相同的具有预期的编码\x93
。与 比较\xe4
将具有预期编码的集合减少为cp1250
、cp1252
、cp1254
、cp1257
、cp1258
和palmos
。如果您有额外的数据点,您可能可以进一步缩小范围......或者只是打赌输入编码可能cp1252
是西欧常见的 Windows 默认 scourge^Wcode 页面。
(免责声明:这是我创建的一个页面,从前。)
推荐阅读
- c - 在 OpenBSD 上使用 yacc(1) 和 CMake
- r - 使用循环为具有引用其他列的方程的数据框的空列生成数据
- php - GKE Stackdriver BadRequestException
- reactjs - ASP.NET Core 和 React 给出 Failed to start 'npm' / The directory name is invalid
- oracle - 查询返回 NULL 值的列
- android - 处理非英文 Unicode(如中文、日文)时,目标 API 28 中的 EditText 行间距行为不正确
- java - Android服务停止在OPPO小米MIUI vivio等设备上运行
- java - 如何有一个数字的范围
- android - @ForeignKey 和 3 个实体的问题
- reactjs - 在我的 React 应用程序中获取 api 数据时如何修复 CORS 错误?