有比str(value).decode('utf-8')
?
示例用法:
from scipy.io import wavfile
encoding = 'utf-8'
def get_data(basename):
print (basename).decode(encoding)
sampFreq, snd = wavfile.read(basename+'.wav')
print (u'sample freq: ' + str(sampFreq).decode(encoding) + ' Hz')
print (u'sample size: '+ str(snd.dtype).decode(encoding))
您可以直接使用unicode()
函数:
print u'sample freq: ' + unicode(sampFreq) + u' Hz'
print u'sample size: '+ unicode(snd.dtype)
或者将值单独传递给print
(它会将每个部分转换为字符串,并在其中添加空格):
print u'sample freq:', sampFreq, u'Hz'
print u'sample size:', snd.dtype
但最好的做法是使用str.format()
(这里实际上是unicode.format()
):
print u'sample freq: {} Hz'.format(sampFreq)
print u'sample size: {}'.format(snd.dtype)
有关详细信息,请参阅格式字符串语法文档。
无需解码,str()
即可,即
print (u'sample freq: ' + str(sampFreq) + ' Hz')
print (u'sample size: '+ str(snd.dtype))
然而,这将起作用:
print(u'sample freq: {} Hz'.format(sampFreq))
print(u'sample size: {}'.format(snd.dtype))
使用str.format()
是"现代"/更可取的方法。