python 去除不可见的控制字符

尤其是在json load的时候,字符串中的不可见控制字符可能会导致错误,应该先对字符串进行控制字符过滤。

对网页文本同样适用,最好在处理网页文本时先进性控制字符清洗。

Replace null bytes in html text with space char to walk around lxml bug in _convert_tree func

import re

def remove_control_chars(s):
    control_chars = ''.join(map(unichr, range(0,32) + range(127,160)))
    control_char_re = re.compile('[%s]' % re.escape(control_chars))

    return control_char_re.sub('', s)

cleaned_json = remove_control_chars(original_json)
obj = simplejson.loads(cleaned_json)

参考自:http://stackoverflow.com/questions/21495598/simplejson-encoding-issue-illegal-character

原文地址:https://www.cnblogs.com/chybot/p/4892884.html