Unicode字符串到python中反斜杠编码的非Unicode 7位ASCII?
环境:Python 2.6Python 2.高于-6 我有正确的Unicode字符串到python中反斜杠编码的非Unicode 7位ASCII?,python,string,encoding,utf-8,Python,String,Encoding,Utf 8,环境:Python 2.6Python 2.高于-6 我有正确的u'UTF-8字符串,需要在标准Python 2.6-ish ASCII字符串中转换为ASCII编码格式。像这样: def conversionSolution(utf8StringInput): { ... return(asciiStringResult) } utf8string = u'\u5f00\u80c3\u83dc' asciistring = conversionSolution(utf8stri
u'
UTF-8字符串,需要在标准Python 2.6-ish ASCII字符串中转换为ASCII编码格式。像这样:
def conversionSolution(utf8StringInput):
{
...
return(asciiStringResult)
}
utf8string = u'\u5f00\u80c3\u83dc'
asciistring = conversionSolution(utf8string)
print asciistring
填写…
后,上述内容将打印出来
\u5f00\u80c3\u83dc
而不是
开胃菜
让我强调一下,我不希望UTF-8出现在这里;我特别需要0-127编码的ASCII反斜杠数据,随后我可以将其严格地作为7位ASCII进行操作。您可以调用
.encode('unicode-escape')
来执行此操作
也就是说,你说的是事后操纵那个字符串。之后,您无法使用该字符串执行很多有用的操作。如果切片,你可以在这些转义序列中间切片。当然,大小写折叠不起作用,等等。如果需要操作该字符串,则应将其作为unicode字符串保留。您可以调用
.encode('unicode-escape')
来执行此操作
def conversionSolution(utf8StringInput):
return repr(utf8StringInput)[2:][:-1]
utf8string = u'\u5f00\u80c3\u83dc'
asciistring = conversionSolution(utf8string)
print asciistring
也就是说,你说的是事后操纵那个字符串。之后,您无法使用该字符串执行很多有用的操作。如果切片,你可以在这些转义序列中间切片。当然,大小写折叠不起作用,等等。如果需要操作该字符串,则应将其保留为unicode字符串。
utf8string
实际上不是UTF-8字符串。它是一个Unicode字符串。您可以通过调用将其编码为UTF-8。encode('UTF-8')
utf8string
实际上不是UTF-8字符串。它是一个Unicode字符串。您可以通过调用.encode('UTF-8')
将其编码为UTF-8。我并不是按照您的意思来处理此内容。我正在通过7位FEC AFSK编码的射频数据通道传递它,它必须完整地到达端点,以便可以转换回来,同时在传输过程中,它在射频管道中的7位限制内100%可读。教训:当你不知道用例时,不要假设你知道最佳实践。@fyngyrz我同意不要猜测用例,尽管我不会称之为传输字符串而不是操纵字符串。但是我们也必须假设其他使用不同用例的人会遇到这个问题+答案。我不是在你所指的意义上操纵这个内容。我正在通过7位FEC AFSK编码的射频数据通道传递它,它必须完整地到达端点,以便可以转换回来,同时在传输过程中,它在射频管道中的7位限制内100%可读。教训:当你不知道用例时,不要假设你知道最佳实践。@fyngyrz我同意不要猜测用例,尽管我不会称之为传输字符串而不是操纵字符串。但是我们也必须假设其他具有不同用例的人会遇到这个问题+答案。
def conversionSolution(utf8StringInput):
return repr(utf8StringInput)[2:][:-1]
utf8string = u'\u5f00\u80c3\u83dc'
asciistring = conversionSolution(utf8string)
print asciistring