Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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
如何使用PythonStartsWith方法组合unicode和ascii字符串?_Python_Unicode_Ascii_Python Unicode - Fatal编程技术网

如何使用PythonStartsWith方法组合unicode和ascii字符串?

如何使用PythonStartsWith方法组合unicode和ascii字符串?,python,unicode,ascii,python-unicode,Python,Unicode,Ascii,Python Unicode,在我的例子中,我使用Unicode文本字符串和前缀作为ASCII字符串 text-string.startswith(prefix) 我在这方面遇到了一个例外 UnicodeDecodeError:“ascii”编解码器无法解码第9位的字节0xe2:序号不在范围(128)内。 如何比较两个字符串,我尝试使用Unicode(string)方法将ASCII字符串转换为Unicode,但仍然得到相同的异常 如何解决这个问题?在最坏的情况下,如何在比较时抑制此异常 text - u'PreciChr

在我的例子中,我使用Unicode文本字符串和前缀作为ASCII字符串

text-string.startswith(prefix) 
我在这方面遇到了一个例外

UnicodeDecodeError:“ascii”编解码器无法解码第9位的字节0xe2:序号不在范围(128)内。

如何比较两个字符串,我尝试使用Unicode(string)方法将ASCII字符串转换为Unicode,但仍然得到相同的异常

如何解决这个问题?在最坏的情况下,如何在比较时抑制此异常

text - u'PreciChrom I/II is a lyophilized control based on human citrated plasma.'
prefix - 'Reagents – working solutions'
text\u string.encode().startswith(前缀)
text\u string.encode().startswith(前缀)
您的前缀字符串不是ASCII。正如错误消息所说,您在第9位有一个非ASCII字符;en破折号,
。字符串可能是utf-8

您可以将前缀解码为unicode:

text_string.startswith(prefix.decode('utf-8'))
您的前缀字符串不是ASCII。正如错误消息所说,您在第9位有一个非ASCII字符;en破折号,
。字符串可能是utf-8

您可以将前缀解码为unicode:

text_string.startswith(prefix.decode('utf-8'))

请提供一个答案,你的问题没有答案是离题的。你使用哪一个版本的Python?2.7,希望我的团队有一天能迁移到3.x,这与我可以运行的代码还有一点距离。也就是说,您的ASCII字符串根本不是ASCII,它包含一个字节,值0xe2位于第9位。请提供一个,您的问题没有主题。您使用的是哪一版本的Python?2.7,希望我的团队有一天迁移到3.x这仍然是我可以运行的代码的一部分。也就是说,您的ASCII字符串根本不是ASCII,它包含一个在位置9处具有值0xe2的字节。