转换字符串。简单vs Unicode,Python

时间:2013-10-18 17:24:43

标签: python unicode

我在python中编写一个脚本,用于验证父表中每个单元格的值,并与查找表中的值进行比较。

因此,在父表中,我有许多列,每列对应于该特定列中每个记录中应该存在的已知值的查找表。

当我从父表中读取值时,会有很多类型(即unicode字符串,整数,浮点数,日期等)

查找表具有相同的类型,但是当它是一个字符串时,它是一个简单的字符串,而不是一个强制我将值转换为匹配的unicode字符串。 (即如果父表中单元格中的值是unicode字符串,那么我需要创建一个条件句来测试它是unicode然后转换为简单字符串

if isinstance(row.getValue(columnname), unicode):
    x = str(row.getValue(columnname)

我的问题是,将unicode字符串转换为简单字符串或反之亦然以匹配类型会更好吗?为什么会更好?

如果有帮助,我的父表都可以访问,查找表全部都在excel中。我认为这不重要,但也许我错过了一些东西。

1 个答案:

答案 0 :(得分:5)

将字节字符串解码为unicode会更好。

Unicode数据是规范表示;编码字节根据使用的编码而不同。

您总是希望在程序中使用Unicode,然后根据需要编码回字节以通过网络发送或将数据写入文件。

将此与使用日期/时间值进行比较;您也可以尽快将这些转换为datetime个对象。或图像;从PNG或JPG加载图像时,您希望获得一种可以操作颜色和单个像素的表示,这在使用磁盘上的压缩图像格式时会更加困难。