问题标签 [shift-jis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1263 浏览

python - 当编码在 shift_jis 中时,使用 Python 的电子邮件模块解析电子邮件时出错

当我尝试使用我的电子邮件解析器解码 shift_jis 编码的电子邮件并将其转换为 unicode 时,我收到一条错误消息,提示“UnicodeDecodeError:'shift_jis' 编解码器无法解码位置 2-3 中的字节:非法多字节序列”。代码和电子邮件可以在下面找到:

电子邮件: http: //pastebin.com/L4jAkm5R

我已经阅读了另一个 Stack Overflow 问题,这可能与 Unicode 和 shift_jis 的编码方式之间的差异有关(他们引用了这篇Microsoft 知识库文章)。如果有人知道我的代码中的什么可能导致它无法工作,或者如果这甚至可以合理地修复,我将非常感谢找出方法。

0 投票
2 回答
2311 浏览

perl - 在 perl 中移位 jis 解码/编码

当我尝试解码 shift-jis 编码的字符串并将其编码回来时,一些字符会出现乱码:我有以下代码:

当我在输入中使用字符串 : helloソworld 时,它会被正确解码和编码回来,即在解码之前和编码之后在上面的代码中打印打印相同的值。但是当我尝试另一个字符串时: ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ

最终输出出现乱码。

它是 perl 库特定的问题还是一般的 shift jis 映射问题?有什么解决办法吗?

0 投票
3 回答
722 浏览

python - Pyparsing - 从混合的 jascii/ascii 文本文件中解析 jascii 文本?

我有一个混合了 jascii/shift-jis 和 ascii 文本的文本文件。我正在使用pyparsing并且无法标记此类字符串。

这是一个示例代码:

我得到:

这是文本文件的内容:

(没有引号)

0 投票
1 回答
1171 浏览

java - 在 Java 中对 Shift-JIS 字符使用 XOR

因此,我正在尝试编写一个小解密程序,但遇到了一些麻烦。我将 XOR 应用于带有 'FF' 的字符(反转所有位),我通过将字符串转换为字节数组然后对其应用 XOR 来做到这一点。但是这些字符是 Shift-JIS 编码的,有些东西不起作用。当我尝试使用普通字母的方法时,它似乎有效,但是当它使用日文字符时出现问题。

但是当我坚持使用日文字符时,它会将它们中的每一个都转换为“yyyyyy”。我尝试打印出字节数组以查看问题,它表明每个字符都存储为“63”。如何正确存储字符?实际上,我将如何在 Shift-JIS 字符上使用 XOR?

我使用 XOR 是因为我基本上只想将位从 0010 反转为 1101,然后将其改回字符。那可能吗?

谢谢

例如,这是我的输入:“始めまして”,我得到的是:“yyyyy”当我执行“hello there”之类的操作时,我得到“.#**)f2.#4#”

0 投票
2 回答
15119 浏览

python - 解码 shift-jis:“非法多字节序列”

我正在尝试解码 shift-jis 编码的字符串,如下所示:

能够在我的程序中查看它。

当我遇到 2 个 shift-jis 字符时,十六进制“0x87 0x54”和“0x87 0x55”,我收到此错误:

但我确定它们是有效的 shift-jis 字符:http ://www.rikai.com/library/kanjitables/kanji_codes.sjis.shtml

我还注意到这些字符在我的 shift-jis 文本编辑器中显示为黑框,这意味着它们无法识别。所以这两个字符有一些特别之处,导致我的编辑器和 Python 解码器失败。帮助?

(抱歉,我无法发布示例字符串,因为当这些字符存在时,它不会从那里添加到剪贴板,并且还会自动转换为 unicode。不过,我为它们发布了十六进制值。)

0 投票
1 回答
1555 浏览

python - 如何在 python 中将 Shift_JIS 字符代码转换为 unicode 字符?

我有一个要转换为 unicode 字符的 Shift_JIS 字符代码(整数)列表。我想我需要一个chr()/unichr()适用于其他编码的函数版本。我已经尝试decode()与 结合使用hex(),但它只解码字符串本身,而不是十六进制值。

示例输入和输出:

谁能帮我?提前致谢。

0 投票
1 回答
840 浏览

smarty - Smarty - 不使用 PHP 的 Shift-jis 编码

我想显示 Shift-jis 字符,但仅在显示时。以 UTF-8 存储并以 Shift-jis 显示,那么 Smarty 中的解决方案是什么?

0 投票
3 回答
4402 浏览

python - 在给定 shift-jis 字符代码的情况下获取 utf-8 字符代码?

在我的程序中,我将 shift-jis 字符代码作为 Python 整数,我需要将其转换为相应的 utf8 字符代码(也应该是整数)。我怎样才能做到这一点?对于 ASCII,您有有用的函数 ord()/chr(),它允许您将整数转换为 ASCII 字符串,稍后您可以轻松地将其转换为 unicode。对于其他编码,我找不到类似的东西。

使用 Python 2。

编辑:最终代码。谢谢大家:

0 投票
2 回答
7512 浏览

javascript - 如何在Javascript中获取日文字符的长度?

我有一个带有 SHIFT_JIS 字符集的 ASP 经典页面。页面head部分下的meta标签是这样的:

我的页面有一个文本框 (txtName),它应该只允许 200 个字符。我有一个验证字符长度的 Javascript 函数,该函数在我的提交按钮的 onclick() 事件中调用。

问题是,Javascript 没有获得以 SHIFT_JIS 编码的正确长度的日文字符。例如,字符测的 SHIFT_JIS 长度为 8 个字符,但 Javascript 仅将其识别为一个字符,可能是因为 Javascript 默认使用的 Unicode 编码。在 SHIFT_JIS 中,某些字符(如 ケ)有 2 或 3 个字符。

如果我只依赖 Javascript 提供的长度,长日文字符将通过页面验证并尝试保存在数据库中,然后由于 DB 列的最大长度为 200 而失败。

我使用的浏览器是 Internet Explorer。有没有办法使用 Javascript 获取日文字符的 SHIFT_JIS 长度?是否可以使用 Javascript 从 Unicode 转换为 SHIFT_JIS?如何?

谢谢您的帮助!

0 投票
1 回答
969 浏览

android - Android 和 Socket 上的 UTF-8 和 SJIS 问题

我正在为 Android 和 PC 开发一个聊天应用程序,它使用套接字相互通信。问题是,虽然我需要该应用程序可以使用日语,但 Android 端会出现字符代码问题。

服务器在 PC 上工作,当所有客户端都在 PC 上时一切正常,所以我尝试在 Android 端进行所有编码/解码。在两个客户端上,我都尝试了 System.getProperty("file.encoding");

并发现 PC 使用 Shift_JIS 而 Android 使用 UTF-8。所以我做了

但仍然遇到字符代码问题。

我已经尝试为彼此更改“Shift_JIS”和“UTF-8”但仍然没有工作......如果您有任何建议,我会很高兴。谢谢!