※ 引述《l1221l (一一二二一一)》之铭言:
: 试着使用word2vector
: 他们官网提供了train好的资料
: 但是是binary 1的bin档
: 想转成可阅读的形式
: en = content.decode('utf-8')
: print(en)
: 看到的是
: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf6 in position 5:
: invalid start byte
: 还没找到解决方案
: 有train了binary 0的资料是
: 71291 48
: </s> 0.008339 0.009207 -0.007980 -0.006829 0.002847 0.006294
: 0.001960 0.000440 -0.007507 0.004622 -0.009076 0.002603 -0.001565 -0.001994
: -0.006908 -0.003921 0.005374 0.006303 0.006186 0.003328 0.003218 -0.007922
: -0.008533 0.010353 0.007919 0.006438 -0.001258 0.008366 -0.001031 0.001531
: -0.000311 -0.006215 0.002734 -0.002786 -0.007970 0.009905 0.009123 -0.002282
: -0.000471 0.001061 -0.007579 -0.008348 0.009489 0.000131 -0.005380 -0.006338
: -0.006409 0.003535
: binary 1的第一行是
: b'71291 200\n'
: b'</s> \xf6(\x03;\xa4\xd0\x10;\x1f\x05\xfb\xba{\xd4\xd6\xba\xb8\x1e3:
: q\xfd\xc5:\xd7\xa3\xf69\x9a\x99\xdd8\xf6(\xec\xba\xd7c\x91:
: \x00\xc0\x0e\xbb\xae\xc7#:\xc3\xf5\xc4\xb9\x85\xeb\xfa\xb9\xcdL
: \xd9\xba3\xb3v\xba=\n'
: 不过这个是小的档案拿来做对比的
: 他train好的档案很大 没有data给我重新来train
: 请问各位大大有没有好解法呢
: 谢谢
如果是要存成json,在写入档案的时候,用这样输出:
with open('filename.json', 'w', encoding='utf8') as output:
output.write(json.dumps(meta_data, ensure_ascii=False))
标这个颜色的是关键所在
标的第一个是让档案输出是用utf-8的编码,第二个是让他直接显示编码后的utf-8字符
据我的了解,一般储存的时候会用ascii模式下去存,
所以才会显示成'\xf6'的形式,来确保一定能存的进文件,
关掉ensure_ascii应该就能正确的显示了。