我们有一个可以由IronPython(版本2.7.5)定制的.NET应用程序
以下是脚本代码:
stringToPlay = # get it from our .NET app interface toward python here. The method returns .NET string
Log.Write("isinstance(stringToPlay, unicode): ", str(isinstance(stringToPlay, unicode)))
Log.Write("isinstance(stringToPlay, str): ", str(isinstance(stringToPlay, str)))
两条日志行都将返回True??在
stringToPlay值为“Ћириича”。在
当str和unicode应该是两个独立的类都继承自basestring时,这怎么可能呢?在
谢谢你
IronPython在}都是
str
和unicode
之间没有区别,如果您习惯了cpython2语义,这可能会非常混乱。实际上,basestring
和{str
的别名。在关于字符串,IronPython(2.X)的行为更像python3,但有一点令人恼火的事实是,如果您想基于类型进行解码/编码,就不能区分}(由于它仍然是Python 2,因此也没有
unicode
和{bytes
)。在在IronPython中,
str
类型和unicode
类型是同一个对象。.NET字符串类型为unicode。在相关问题 更多 >
编程相关推荐