- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一堆用shift_jis编码的txt文件,我想将它们转换为utf-8编码,以便特殊字符可以正确显示。以前可能有人问过这个问题,但我似乎无法正确回答。
更新:我更改了代码,因此它首先写入列表,然后写入列表中的内容。
words = []
with codecs.open("dummy.txt", mode='r+', encoding='shiftjis') as file:
words = file.read()
file.seek(0)
for line in words:
file.write(line.encode('utf-8'))
但是现在我遇到运行时错误,程序崩溃了。经过进一步调查,似乎“file.seek(0)”导致了程序崩溃。如果此行被注释掉,程序运行不会出错。我不知道为什么会这样。它是如何导致错误的?
最佳答案
您不能像这样同时读取和写入同一个文件。这就是为什么它不起作用。输入和输出被缓冲,并且文件对象共享相同的文件指针,因此很难预测会发生什么。您要么需要将输出写入不同的文件,要么将整个文件读入内存,关闭它,重新打开它并将其写回。
with codecs.open("dummy.txt", mode='r', encoding='shiftjis') as file:
lines = file.read()
with codecs.open("dummy.txt", mode='w') as file:
for line in lines:
file.write(line)
关于python - 将shift_jis转换为utf-8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25134722/
或者这两个字符在 Shift_JIS 中根本不存在? Shift_JIS 字符编码方案中的前 128 个字符与 ASCII 匹配,除了两个字符:0x5C 是日元符号 ( ¥ ) 而不是反斜杠,0x7E
我有一个使用 tomcat 提供服务的 Web 应用程序。 在其中一个页面上,它允许用户下载存储在我的文件服务器上的文件。大多数文件的名称都是日语的。然而,当用户下载文件时,文件名出现乱码。此外,它在
我从第 3 方库中获取了一个字符串,该字符串编码不正确。不幸的是,我不允许更改库或使用另一个库... 因此,实际问题是,第 3 方库结果字符串会将“è ò à ù ì ä ö ü, ...”等字符编码
我正在尝试将 Shift_JIS 格式的文件转换为 UTF-8 格式。为此,我的方法如下: 读取 Shift_JIS 文件 获取每行的字节并将其转换为 UTF-8 创建新文件并将 UTF-8 转换后的
我正在使用一个网站,该网站需要针对未启用 Unicode 的旧日本手机。问题是,该站点的文本作为 HTML 实体(即,Ӓ)保存在数据库中。这个数据库绝对不能更改,因为它被用于数百个网站。 我需要做的是
我正在尝试使用请求模块访问非 utf-8 网站。此请求的响应是乱码。 var request = require('request'); request('http://www.alc.co.jp/'
我正在开发一个网站,在将所有路由移植到 Node/Express/EJS 应用程序之前,该网站的所有字符编码均为 Shift_JIS( Node 本身不支持的日语编码)。现在,所有页面都呈现为 UTF
我是一名优秀的程序员,十分优秀!