问题标签 [utf-16le]
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.
visual-studio - Visual Studio 2015 _references.js UTF-16LE
在我安装的 Visual Studio(Microsoft Visual Studio Community 2015)中,对于 MVC 项目,_references.js
文件的字符编码是 UTF-16LE 类型,这会阻止 Git 在进行更改时识别文本差异,将此文件视为二进制文件。
对于 Visual Studio,有没有办法更改此文件的字符编码以避免这些冲突?
任何帮助深表感谢。
此致!
java - Remove illegal xml characters from UTF-16LE encoded file
I have a java application that parses an xml file that was encoded in utf-16le. The xml has been erroring out while being parsed due to illegal xml characters. My solution is to read in this file into a java string, then removing the xml characters, so it can be parsed successfully. It works 99% but there are some slight differences in the input output from this process, not caused by the illegal characters being removed, but going from the utf-16le encoding to java string utf-16.. i think
Do characters get changed/lost when going from UTF-16LE to UTF-16? Is there a way to do this in java and assuring the input is exactly the same as the output?
python - UnicodeDecodeError: 'utf-16-le'
我正在尝试从访问数据库中提取表列表。该脚本通过并显示大约三分之一的表并收到以下错误:
回溯(最后一次调用):文件“C:/GageInfo/sourcecode for GageTrakNotify/__test script.py”,第 31 行,在 cursor2.columns(rows.table_name)中的 fld:UnicodeDecodeError:'utf-16-le'编解码器无法解码位置 132-133 中的字节:非法编码
任何提示将不胜感激。
java - 如何使用 UTF-16LE 将文本添加到 Java 中的现有文件?
您好,我正在寻找一种将文本添加到 Java 中现有文件的方法。我试着用
但是我的文件是用 UTF 16-LE 编写的,所以我必须这样进行:
而且 FileWriter 不接受第三个参数,我可以在其中添加“UTF-16LE”选项。
有没有办法做到这一点?
r - 使用 readr 从 cognos 8 文件(utf 16)读入 R 数据帧
我正在尝试使用 readr 将 cognos 8 生成的 csv 文件读入 r。
为重现性而附加的示例文件:示例 csv 文件
以下python代码有效:
我在 R 中尝试了以下方法,但都没有返回正确的结果。它们要么出错(不完整的多字节序列),要么不正确地读入(作为嵌套列表或类似列表)
我曾经guess_encoding()
得到 UTF-16LE,我也尝试过 UTF-16。
c++ - UTF-16LE 编码问题与用 C++ 编写的 Qt 文本编辑器
所以我有一个我已经开始创建的 QT 文本编辑器。我从这个http://doc.qt.io/archives/qt-5.7/gettingstartedqt.html开始,并添加了它。到目前为止,我已经添加了一个适当的保存/另存为功能(链接中的版本只有一个保存为功能)、一个“查找”功能和一个“打开新窗口”功能。很快,我将添加一个查找和替换功能。
我这样做主要是为了学习经验,但我最终还将添加更多功能,这些功能将专门帮助我在工作中创建 PLC 配置文件。这些配置文件可能有许多不同的编码,但它们中的大多数似乎都是 UTF-16LE(无论如何根据 Emacs。)我的文本编辑器最初读取 UTF-16LE 没有问题,但是用纯文本编写,我需要改变它。
这是 Emacs 描述的这些 UTF16-LE 文件之一的编码系统的片段。
这是我用来在 QT 文本编辑器中对文本进行编码的代码示例。
首先...这类似于我之前提供的链接。这里唯一的区别是“saveFile”是一个全局变量,我创建它是为了执行一个简单的“Save”函数而不是“Save As”函数。这会将文本保存为纯文本并像魅力一样工作。
下面是我尝试将代码保存在“UTF-16LE”中的较新版本。我的文本编辑器在保存后可以很好地读取文本,但 Emacs 根本不会读取它。这对我来说意味着配置文件可能无法被读取它的程序读取。有些东西变了,不知道是什么。
被注释掉的部分我也试过了,但他们最终把文件写成亚洲(中文或日文)字符。就像我说的我的文本编辑器(和 Wine 中的记事本)可以很好地读取文件,但是 Emacs 现在在保存后将编码描述为如下。
这向我表明文件中的某些内容不正确。最终,此文本编辑器将用于一次创建多个文本文件并通过用户输入修改其内容。如果我能正确编码,那就太好了。
java - 在 hadoop/cascading 中处理 UTF-16LE 编码文件
我需要在 hadoop 之上处理级联的 UTF-16LE 编码文件。我尝试了以下方法,但这些方法都不起作用。
-
由于 NullPointerException 为 mapred-site.xml中
-Xmx1024m -Dfile.encoding=UTF-16LE
的属性赋值失败:但此方法适用于 UTF-8。hadoop 是否无法处理 UTF-16 数据?mapreduce.map.java.opts
com.google.common.base.Preconditions.checkNotNull(Preconditions.java:187)
- 在代码中做
System.setProperty("file.encoding", "UTF-16LE");
也无法解析数据 - 覆盖 Cascading 的 TextDelimited 类的字符集也无法处理数据
但是,使用 BufferedReader 在 UTF-16LE 中读取它可以正确解析数据。
请帮忙
提前致谢
php - PHP:检查字符串是 utf-8 还是 utf-16le
我正在编写默认情况下以 utf-8 格式返回文档的函数,如果您提供特殊参数,它将以 utf-16le 格式返回内容。我开始为这个函数编写单元测试,我不明白如何检查编码是“utf-8”还是“utf-16le”。我已经尝试过mb_detect_encoding
,但false
即使在此代码段中它也会返回:
感谢任何想法如何检查编码是 utf-16le 而不是 utf-8。
c++ - UTF-16LE 半角与全角?意义?
我有用于打印数字的自定义打印功能。我制作了一个 ASCII 版本和一个 UTF-16LE 版本。UTF-16LE 版本对 0-9 使用全角代码/字符,对十六进制使用 AF。在调试我的函数时,我注意到 Visual Studio 中的字符看起来与 ASCII 字符有点不同,虽然这并没有打扰我,但它让我开始思考。所以我决定在谷歌上快速搜索“Unicode 半角与全角”
...而且我发现有几页谈论“全宽”形式,指的是字符的视觉宽度,而我认为“全宽”是指编码的宽度(2字节或更多)......
以下是其中的几页和引述:
- https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms
- ICU Unicode 正常与全宽
为了使事情整齐排列,IBM 定义了一组“全角”(最好是“双角”)字母和数字。
- https://en.wikipedia.org/wiki/Half-width_kana
半角假名是以正常宽度的一半显示的片假名字符(纵横比为 1:2),而不是通常的正方形 (1:1) 纵横比。例如,片假名ka的通常(全角)形式是カ,而半角形式是カ。
当我们有不同的字体大小和对齐方式时, “全宽”指的是视觉宽度对我来说没有意义。
所以:
A - 谁能给我一个很好的答案,为什么“全宽”指的是视觉宽度。Unicode UTF-16 规范中的什么地方是这样说的?
B - 作为开发人员/程序员,是否可以选择使用标志输出为半角或全角?
php - PHP 无法正确解析 CSV(文件为 UTF-16LE)
我正在尝试使用 PHP 解析 CSV 文件。
该文件使用逗号作为分隔符,并为包含逗号的字段使用双引号,如:
我面临的问题是我得到包含逗号分隔的字段。我得到:
"2
rue du ..."
而不是:2, rue du ...
。
编码:
该文件似乎不是 UTF8。它在开头有奇怪的字符(显然不是 BOM,从 ASCII 转换为 UTF8 时看起来像这样:)ÿþ
并且不显示重音符号。
- 我的代码编辑器(Atom)告诉编码是UTF-16 LE
mb_detect_encoding()
在 csv 行上使用它返回ASCII
但它无法转换:
mb_convert_encoding()
转换自ASCII
但返回亚洲字符UTF-16LE
iconv()
返回注意:iconv(): 字符集错误,不允许从UTF-16LE
/ASCII
到UTF8
转换。
解析:
我试图用这个单行(见那两条评论)解析str_getcsv()
:
然后我尝试了fgetcsv()
:
在这两种方式中,我都将我的地址字段分为两部分。但是当我尝试这个代码示例时,我得到了正确解析的字段:
总结一下问题:
- 文件开头的字符是什么?
- 我怎么能确定编码?(Atom 读取文件时
UTF-16 LE
不显示奇怪的字符) - 是什么让 csv 解析功能失败?
- 如果我应该依靠其他东西来解析 CSV 的行,我可以使用什么?