问题标签 [gb2312]
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.
unicode - 将 GB2312 转换为 UTF-8
我有一个文本文件,其中包含当前以 GB2312(简体中文)编码的本地化语言字符串,但我的所有其他语言文件都是 UTF-8。我发现使用此文件非常困难,因为我的文本编辑器都无法正常使用它并不断损坏它。是否有任何工具可以将其转换为 UTF-8,这样做有什么缺点吗?将其保留为 GB2312 并使用其他编辑器会更好(如果是,您能推荐一个)吗?
更新:我使用的是 Windows XP(英文安装)。
更新 #2:我尝试使用 Notepad++ 和 Notepad2 编辑 GB2312 文件,但两者都无法读取文件并损坏它们。
java - java中如何判断一个字符是否为GB2312
我想写一个java函数,比如:如果一个字符不在GB2312中,返回false
php - PHP解码GB2312
我正在处理一个 IMAP 电子邮件脚本,我有一些用GB2312编码的行(我假设是中文编码),看起来像这样=?GB2312?B?foobarbazetc
我怎样才能开始使用这个字符串?我查了一下mb_list_encodings()
,这个没有列出。
javascript - 编码 GBK2312 难题
我是一名业余编码员,我有一个小问题。
我的目标是用两个按钮输入一个文本。
- 第一个按钮使用了一个叫做 SundayMorning 的 Javascript 来翻译文本(到中文)
- 第二个按钮将文本提交到 URL。URl 要求将中文文本编码为GBK2312 字符集。
我已经将各种找到的代码粘贴到了我现在的结果中。由于 SundayMorning Javascript 的挑剔行为,我的解决方案是有两个输入框,我将隐藏第二个输入框。
现在,这不起作用:
- 无论我尝试什么,我都无法在 GBK2312 中对中文进行编码。
- BONUS CONUNDRUM:第二个框会在我键入时逐个字母地复制我的输入,但不会复制 Javascript 返回的中文翻译。
对不起我的业余代码。如果您有任何好的建议,我会听从那些更聪明的人。
python - 如何在 Python 中使用 GB2312 编码解析 RSS
我有一个用 GB2312 编码的 RSS 提要
当我尝试使用以下代码解析它时:
它无法解析 Feed。
任何想法如何解析 GB2312 编码的 RSS 提要
使用如下编码后,来自 Plex 媒体服务器的错误日志如下
:
java - 爪哇错误?无法使用 Scanner 直接读取 GB2312 文件
我有一个 GB3212 编码(中文)的文件。文件从这里下载http://lingua.mtsu.edu/chinese-computing/statistics/char/list.php?Which=MO与 Windows 下的 wget 一样,并存储到 ModernChineseCharacterFrequencyList.html 文件名中。
下面的代码演示了 Java 如何无法以一种方式读取它并以另一种方式结束。
即,如果Scanner
用scanner = new Scanner(src, "GB2312")
代码创建是行不通的。如果Scanner
是用scanner = new Scanner(new FileInputStream(src), "GB2312")
then 创建的,它就可以工作。
分隔符模式线仅显示故障仍然存在的另一个选项。
这是故障还是设计行为?
更新
当代码正常工作时,它只会读取所有令牌直到结束。当它不起作用时,它会取消大约在中间的读取,没有异常或错误消息。
没有发现断裂处的奇点。也没有像 2^32 这样的“神奇”数字出现。
更新 2
最初该行为是在带有 Sun 的 JavaSE 1.6 的 Windows 上发现的
现在,在带有 OpenJDK 1.6.0_23 的 Ubuntu 上也发现了相同的行为
php - PHP - UTF-8 转中文 ANSI (GB2312?) - 导出 CSV 文件
经过几个小时的研究(几次......),我发布了这个。我还没有找到任何答案。
我的目标是使用 PHP 编写一个 CSV 文件。这个文件必须有中文ANSI编码(我想简体中文是GB2312,在notepad++中我只看到ANSI编码)。必须导入到另一个工具。
[重要的提示]
我们目前正在使用 notepad++ 和一台默认语言为中文的 PC 转换文件。过程是:
- 从网络应用程序获取 UTF8 CSV
- 在中国电脑上用 Excel 2003 保存为 csv
- 在notepad++中打开,编码已经是ANSI,删除一个前导“?” 在文件的开头。
我进行了测试:将我的 .csv 文件更改为 .php 并用以下代码替换它以保持相同的编码:
这将打印:“ASCII”。
然后我不确定CSV的输出应该是什么:GB2312?,ASCII?,ANSI?。我什至不清楚它们之间的区别。
我还读到,使用 Excel 2007 保存为 CSV 格式的文件在中国 PC 上适用于该工具。
[/重要的提示]
目前,我无法做到正确!当我打开我在记事本++中得到的文件时,它仍然显示编码为 UTF-8 编码。很明显,因为汉字看起来不错,它们应该看起来“破碎”:-)。
我正在使用以下标头条件:
[附加信息]
我的文件编码方式是(我把它抽象化以保持简单)
[/附加信息]
我还在打印之前使用 iconv 将我的 CSV 字符串转换为 GB2312(也尝试了 mb_convert_encoding)
我的 .php 文件是用 UTF-8 编码编写的(不是没有 BOM 的 UTF-8)
基本上,我总是得到 UTF-8 文件作为输出,我需要 ANSI。看起来有这么多参数/属性,我不明白。您的帮助将不胜感激!
谢谢!
大卫
[附加信息]
例如,在我的标题列上将有以下编码更改:
- PHP源代码中(UTF-8文件,英文电脑):商品序号(意思是:SKU,商品代码)
- 在最终的 CSV 文件(ANSI 文件,英文计算机)中:ÉÌÆ·ÐòºÅ
- 在最终的 CSV 文件(ANSI 文件,中文电脑)中:商品序号
[/附加信息]
c - 如何将版权符号写入 GB2312 编码的文件?
我想将版权符号写入 pdf 文件的页脚。八进制代码 \251 仅在文件的编码为拉丁文时才有效。(英文)当输出pdf为中文、日文、韩文时。符号印刷完全不同。我已经知道输出文件具有 GB2312 编码,版权符号的代码是两个字节字符 \0xAAC2 。
我一直在试图找出我应该如何打印它?我必须在 sprintf 之前将其转换为 utf16 吗?
c - 在c中显示带有中文区域设置的特殊字符
我需要调整现有的非 unicode c 项目来显示汉字。由于截止日期很短,而且我是 C 和编码的新手,为了支持在 gui 应用程序中显示中文文本,我已经将系统语言环境更改为简体中文 PRC 的路线。这反过来又将项目中的编码(在 Visual Studio 2010 中)更改为简体中文(GB2312)。
除了特殊字符(例如:度数符号、上标 2 等)显示为问号外,一切正常。我相信这是因为我们过去传递 \260 即 ascii 表中度数符号的八进制值,这不再等同于 gb2312 表中的任何内容。
在键盘中显示度数符号的工作流程如下:
显示函数(数据,'\260');//将度数符号的八进制值传递到键盘
此 display_function 用于将整数输入转换为字符串以在键盘上显示:
数据->[ pos ] = (char) ch;
基本上我需要让这个(和其他特殊字符)正确显示。有没有办法使用当前设置传递这个符号?
根据 gb23212 的字符列表,该符号是受支持的,因此我目前的想法是计算出该符号的八进制值并保持现有函数不变。这些当前将值作为字符传递。使用下表:
http://ash.jp/code/cn/gb2312tbl.htm。
和下面的公式来获得八进制值:
与行关联的八进制数乘以 10 并添加到与列关联的八进制数。
我相信这会是A1E0 x 10 + 3 = 414403.
但是,当我尝试将其传递给 display_function 时,我得到“错误 C2022:'268':对于字符来说太大了”。
我要解决这个问题了吗?我不想更改现有函数,因为它们已广泛使用,但我是否需要更改函数以使用宽字符?
如果以上内容令人费解并且充满了不正确的假设,我们深表歉意!一两个星期以来,我一直在努力解决这个问题,而编码、字符集和语言环境似乎变得越来越混乱!
提前致谢