Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unicode字符串到python中反斜杠编码的非Unicode 7位ASCII?_Python_String_Encoding_Utf 8 - Fatal编程技术网

Unicode字符串到python中反斜杠编码的非Unicode 7位ASCII?

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

环境: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(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