将字符串转换为 unicode 转义序列
Convert a string into a unicode escape sequence
我想在 python 3 中将字符串转换为 unicode 转义序列,以便稍后使用。例如:
string = "Hello, World!\n"
print(string.unicode_escape())
# shoud print \u0048\u0065\u006C\u006C\u006F\u002C\u0020...
注意该函数应该 return 原始字符串或转义反斜杠(这样我就可以实际看到转义)。我看过 ,但它并没有真正相关,因为它遍历 haskell。
ord()
函数returns一个字符的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
def encode(s):
ret = []
for c in s:
n = ord(c)
ret.append("\u{:04x}".format(n))
return "".join(ret)
#
print(encode("aeiouäöüßéá€æÆΑαΒβΓγ"))
我想在 python 3 中将字符串转换为 unicode 转义序列,以便稍后使用。例如:
string = "Hello, World!\n"
print(string.unicode_escape())
# shoud print \u0048\u0065\u006C\u006C\u006F\u002C\u0020...
注意该函数应该 return 原始字符串或转义反斜杠(这样我就可以实际看到转义)。我看过
ord()
函数returns一个字符的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
def encode(s):
ret = []
for c in s:
n = ord(c)
ret.append("\u{:04x}".format(n))
return "".join(ret)
#
print(encode("aeiouäöüßéá€æÆΑαΒβΓγ"))