首页 > 解决方案 > 将字符串转换为 unicode 视图

问题描述

我有一个字符串

s = "Санкт-Петербург"

我想将字符串转换为

\u0421\u0430\u043D\u043A\u0442-\u041F\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433

我的代码

x = "Санкт-Петербург"
y = str(x.encode('unicode-escape')) # I want y to be string
print(y) # b'\\u0421\\u0430\\u043d\\u043a\\u0442-\\u041f\\u0435\\u0442\\u0435\\u0440\\u0431\\u0443\\u0440\\u0433'

摆脱b'and的最佳方法是什么\\

标签: pythonencoding

解决方案


使用切片 of [2:-1],这将切掉 theb'和结尾',然后将所有的替换'\'''。方法如下:

x = "Санкт-Петербург"
y = str(x.encode('unicode-escape'))
print(y[2:-1].replace('\\\\', '\\'))

输出:

\u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433

推荐阅读