是否有更好的方法从数字值获取unicode字符串
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))
答案 0 :(得分:3)
您可以直接使用unicode()
function:
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)
有关详细信息,请参阅Format String Syntax documentation。
答案 1 :(得分:1)
无需解码,DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd/hh-mm");
dateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
Date date = new Date();
System.out.println("date "+dateFormat.format(date));
就足够了,即
str()
会起作用,但是:
print (u'sample freq: ' + str(sampFreq) + ' Hz')
print (u'sample size: '+ str(snd.dtype))
使用str.format()
,是“现代”/更好的方式。