python-3.x - Python 3:unescape 文字十六进制、unicode 和 python 转义
问题描述
执行以下操作的正确方法是什么:
- 接受任何 unicode 字符串(从包含 utf-8 编码字符串的文件中读取)
- 如果字符串包含 \xA0\xB0 形式的文字转义(序列)(因此在 Python 中,这将显示为 \xA0\XB0)如果这是无效代码,则将其替换为实际字符或一些后备(例如空格)
- 如果字符串包含 \u0008 形式的文字 unicode 字符转义(因此在 python 中,这将显示为 \u0008)替换为该代码表示的实际字符
- 如果字符串包含 \n 或 \t 形式的 python 字符串转义(因此在 python 中这将显示为 \n 和 \t),则替换为该代码表示的实际字符
- 作为奖励,还替换了 &#a0; 形式的所有 HTML 实体。
- 所有实际的 unicode 字符应保持不变
基本上,当人们以错误的方式创建文件并且它现在包含文字转义而不是由这些转义表示的代码时,有时会得到转换回所有垃圾的东西。
这必须是一个已解决的问题,但我能找到的只是相当笨拙和不完整的解决方案。
解决方案
推荐阅读
- r - 在 R 中指定为字符串的源文件
- shell - 增加关于文件中模式的值
- c# - 模板中的 MVVM 绑定问题(特别是 Expander 控件的 HeaderTemplate)
- javascript - 使用node.js中的删除请求从数据库中动态删除数据
- ios - 如何将自定义标题视图设置为导航栏的中心
- excel - 返回表列中的最后一个值
- ansible - 如何绕过失败的ansible任务,但仍将它们报告为失败?
- c# - 在 UWP 应用中使用 Flyout 时更改覆盖区域的颜色
- javascript - 价格比较器的跟踪代码管理器销售跟踪
- gruntjs - 为不可多任务的 grunt 插件创建两个配置