将字符串转换为 unicode 视图
Convert string to unicode view
我有一个字符串
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'
和 \
的最佳方法是什么?
使用一片[2:-1]
,这将切掉b'
和结尾的'
,然后用''
替换所有的'\'
。方法如下:
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
您需要做的就是使用 replace()
方法将 4 个反斜杠 替换为 2 个反斜杠 。之后,您可以使用 strip()
方法去掉开头的 b'
和结尾的 '
。
以下是您可以继续的方法:
y = y.replace('\\', '\') # Replace backslashes
y = y.strip("b'") # Strip the unnecessary parts
print(y) # Print out the result
输出
\u0421\u0430\u043D\u043A\u0442-\u041F\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433
PS: strip("b'")
也去掉了单引号的字符串结尾。
编辑
正如@Aplet123 所指出的,strip("b'")
可能会导致任何在开头或结尾包含 ASCII b
或 '
的字符串出现问题。因此,可以使用字符串切片代替 strip()
。您需要做的就是将行 y = y.strip("b'")
替换为:
y = y[2:][:-1]
在这里,2:
将去掉开头的 b'
,:-1
将去掉结尾的 '
我有一个字符串
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'
和 \
的最佳方法是什么?
使用一片[2:-1]
,这将切掉b'
和结尾的'
,然后用''
替换所有的'\'
。方法如下:
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
您需要做的就是使用 replace()
方法将 4 个反斜杠 替换为 2 个反斜杠 。之后,您可以使用 strip()
方法去掉开头的 b'
和结尾的 '
。
以下是您可以继续的方法:
y = y.replace('\\', '\') # Replace backslashes
y = y.strip("b'") # Strip the unnecessary parts
print(y) # Print out the result
输出
\u0421\u0430\u043D\u043A\u0442-\u041F\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433
PS: strip("b'")
也去掉了单引号的字符串结尾。
编辑
正如@Aplet123 所指出的,strip("b'")
可能会导致任何在开头或结尾包含 ASCII b
或 '
的字符串出现问题。因此,可以使用字符串切片代替 strip()
。您需要做的就是将行 y = y.strip("b'")
替换为:
y = y[2:][:-1]
在这里,2:
将去掉开头的 b'
,:-1
将去掉结尾的 '