python - 将字符串转换为 unicode 转义序列
问题描述
我想在 python 3 中将字符串转换为 unicode 转义序列,以便以后使用。例如:
string = "Hello, World!\n"
print(string.unicode_escape())
# shoud print \u0048\u0065\u006C\u006C\u006F\u002C\u0020...
请注意,该函数应返回原始字符串或转义反斜杠(因此我可以实际看到转义)。我看过这篇文章,但它并没有真正相关,因为它超越了haskell。
解决方案
该ord()
函数返回字符的 Unicode 代码点。只需将其格式化为\u
后跟一个 4 位十六进制表示。
def unicode_escape(s):
return "".join(map(lambda c: rf"\u{ord(c):04x}", s))
print(unicode_escape("Hello, World!\n"))
# prints \u0048\u0065\u006c\u006c\u006f\u002c\u0020\u0057\u006f\u0072\u006c\u0064\u0021\u000a
推荐阅读
- git - 不能将 2 个本地分支设置为同一个上游远程
- javascript - 未找到 Service Worker 端点
- javascript - JavaScript:将 Json 数据数组更改为新格式
- javascript - D3.JS V5:错误:
属性 d:预期数字,“MNaN,242.20533333…” - amazon-web-services - 具有 503 服务的 Aws wordpress EC2 不可用
- javascript - Paypal Pass 项目 sku 和订单参考 ID
- java - 不能在java中使用来自sql的Varchar变量作为String
- html - 离子刷新背景是黑色而不是白色错误
- c++ - C++ 类成员函数别名模板防止大括号括起来的初始值设定项列表被识别为对/元组
- python - AttributeError:“RefVariable”对象在非急切执行模式下没有属性“_id”