我有一个未指定类型的字符串对象。它将匹配 types.StringTypes,但可能是 type.StringType 或 type.UnicodeType - 我不确定我会收到什么。我不一定能控制进来的东西。
当我在字符串类型中有一个非 ascii 字符并将调用传递给 misaka(这是一个 sundown 解析器)时,就会出现我的问题
在这个例子中,我们正在处理 unichr(8250) / u'\u203a' ,这在我的错误日志中导致了几次......
a = "›"
b = u"›"
print type(a) # <type 'str'>
print type(b) # <type 'unicode'>
print a # fine
print b # fine
import misaka
markdown_renderer = misaka.HtmlRenderer()
renderer = misaka.Markdown( markdown_renderer )
try:
print renderer.render( a )
#this will fail
print "GOOD a"
except:
print "FAILED a"
try:
print renderer.render( b )
#this will pass
print "GOOD b"
except:
print "FAILED b"
我不知道如何将“a”对象变成 misaka 不会有问题的东西。'b' 总是有效的。任何人都可以提供建议吗?