UnicodeEncodeError: 'decimal' codec can't encode character u'\x00' in position 8: invalid decimal Unicode string
UnicodeEncodeError: 'decimal' codec can't encode character u'\x00' in position 8: invalid decimal Unicode string
这条线给了我 UnicodeEncodeError
studentID = int(studentID.unicode_markup.encode('utf-8').decode('utf-8', 'ignore'))
具体报错是这个UnicodeEncodeError: 'decimal' codec can't encode character u'\x00' in position 8: invalid decimal Unicode string
如果我将行更改为:
studentID = int(studentID.unicode_markup.encode('utf-8'))
我收到这个错误:
ValueError: invalid literal for int() with base 10: '\xc2\xa0\xc2\xa0100\xc2\xa0\xc2\xa0'
我已经尝试指定不同的编码(如 'ascii'),但它仍然给我同样的错误。
非常感谢帮助。
您的字符串中 100
前后有一些不可见的字符。因此 int
函数失败,因为它无法将此字符串转换为 int。
在尝试转换为 int 之前,请尝试使用以下方法解析任何数字:
import re
# find all characters in the string that are numeric.
m = re.search(r'\d+', studentID.unicode_markup)
numeric = m.group() # retrieve numeric string
int(numeric) # returns 100
这条线给了我 UnicodeEncodeError
studentID = int(studentID.unicode_markup.encode('utf-8').decode('utf-8', 'ignore'))
具体报错是这个UnicodeEncodeError: 'decimal' codec can't encode character u'\x00' in position 8: invalid decimal Unicode string
如果我将行更改为:
studentID = int(studentID.unicode_markup.encode('utf-8'))
我收到这个错误:
ValueError: invalid literal for int() with base 10: '\xc2\xa0\xc2\xa0100\xc2\xa0\xc2\xa0'
我已经尝试指定不同的编码(如 'ascii'),但它仍然给我同样的错误。
非常感谢帮助。
您的字符串中 100
前后有一些不可见的字符。因此 int
函数失败,因为它无法将此字符串转换为 int。
在尝试转换为 int 之前,请尝试使用以下方法解析任何数字:
import re
# find all characters in the string that are numeric.
m = re.search(r'\d+', studentID.unicode_markup)
numeric = m.group() # retrieve numeric string
int(numeric) # returns 100