问题标签 [cp1252]

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 回答
788 浏览

python - python unicode woes - 将 cp1252 字符串转换为 unicode

我想我只是从根本上对不是 ascii 的字符集感到困惑。

我有一个我在顶部声明为# -*- coding: cp1252 -*-.

例如,在我拥有的文件question = "what is your borther’s name"中。

type(question)

>> 字符串

question

>> '你的兄弟\xe2\x80\x99s 的名字是什么'

而且我此时无法转换为 unicode,大概是因为您无法从 ASCII 转换为 Unicode。

UnicodeDecodeError:“ascii”编解码器无法解码位置 20 中的字节 0xe2:序数不在范围内(128)

如果我声明为 unicode 开头:

question = "what is your borther’s name"

>> u'你的兄弟叫什么名字'

如何找回“你哥哥叫什么名字”?或者只是 python 解释器如何显示 unicode 字符串,当我将它传递给一个支持 unicode 的应用程序(在本例中为 Office)时,它实际上会正确编码?

我需要保留特殊字符,但我仍然需要使用 Levenshtein 库 ( pip install python-Levenshtein) 进行字符串比较。

Levenshtein.ratio 的两个参数都采用 str 或 unicode,但不能混合使用。

0 投票
0 回答
571 浏览

java - 从 Unicode 转换为 CP1252

我正在阅读 JAVA 中的加密文件,其中包含许多不规则字符。问题是我正在尝试对其进行解码,但是解密算法是使用 CP1252 编码实现的,而不是本机 Java Unicode。

我基本上在做的是从这个文件中读取字节并将它们保存到一个 char[] 中。我不使用字节数组的原因是因为它们的值可以是无符号的,所以我想确保不会因此而丢失数据。

无论如何,我的问题是,有没有办法从 Unicode 编码转换为 CP1252 编码,而不将数据转换为字节?

我需要的一个例子就是这个。

在 CP1252 中: € = 128(我想要这个)

而在 UNICODE 中:€ = 8364 的价值(我在此阅读)

如果我要使用字节转换它,该值将不会保持不变,这就是我使用 char[] 的原因。

0 投票
1 回答
1043 浏览

python - Python 忽略编码参数,支持 cp1252

我有一个冗长的 json 文件,其中包含 utf-8 字符(并以 utf-8 编码)。我想使用内置的 json 模块在 python 中读取它。

我的代码如下所示:

虽然我理解“utf-8”参数应该是不必要的,因为它被假定为默认值。但是,我收到此错误:

我的问题是:为什么python似乎忽略了我的编码规范并尝试在cp1252中加载文件?

0 投票
1 回答
84 浏览

url - 允许在(文件-)网络服务器上使用 UTF-8 编码的文件名?

我正在托管一个小型文件服务器,用户可以在其中上传来自世界各地的文档。

由于编码问题(见其他问题),我问自己是否应该禁止用户上传(另一方面下载)CP1252 字符集不支持的文件?

或其他;允许用户上传文件名中包含阿拉伯文或中文字母的文档是否有意义?

PS:他们稍后会下载相同的文件(并且应该与上传的文件名相同)

0 投票
5 回答
75391 浏览

java - Java,Ant 错误:用于编码 Cp1252 的不可映射字符

我在我的项目中使用 Java、Eclipse 和 Ant。我有一些 Java 代码需要编辑并在其中添加一些 UTF-8 字符。以前我的 build.xml 有: 而且效果很好。现在,当我尝试运行时添加了那些 UTF-8 字符后,它会抛出“错误:用于编码 Cp1252 的不可映射字符”

谁能告诉我解决方法是什么?我尝试在 xml 中将编码更改为 UTF-8 和 Cp1252,但没有运气。

我正在使用 JRE7、Eclipse Kepler 和 Ant 4.11。

0 投票
2 回答
2848 浏览

encoding - 从双 UTF-8 到 UTF-8(或从 UTF-8 到 ANSI)的“原始”转换

我正在处理一个使用 UTF-8 编码两次的旧文件。例如,代码点ε( U+03B5) 应该被编码为,CE B5但被编码为C3 8E C2 B5(CE 8E是 的 UTF-8 编码U+00CEC2 B5是 的 UTF-8 编码U+00B5)。

假设数据在 CP-1252 中编码,已执行第二次编码。

要回到 UTF-8 编码,我使用以下(似乎是错误的)命令

我的问题是 iconv 似乎无法转换回某些字符。更准确地说,iconv 无法转换 UTF-8 表示包含映射到CP-1252 中的控制字符的字符的字符。一个示例是代码点ρ( U+03C1):

  • 它的 UTF-8 编码是CF 81,
  • 第一个字节CF被重新编码为C3 8F,
  • 第二个字节81被重新编码为C2 81.

iconv 拒绝转换C2 8181,可能是因为它不知道如何精确映射该控制字符。

如何告诉 iconv 只执行数学 UTF-8 转换而不关心映射?

0 投票
1 回答
1581 浏览

python - Python 3.4 中的文本编码导致混乱:如何防止“UnicodeEncodeError:'charmap'编解码器无法编码”

再一次,处理字符编码的问题开始困扰着我。我正在打开一个包含 XML 的文本文件并将其导入

给出的错误是

我的问题是两个方面。首先,虽然是一位经验丰富的程序员,但研究这个问题比通常更混乱,因为这在 Python 2 和 3 中的处理方式不同。因此,我不确定错误的含义。我知道罪魁祸首是一些看起来像“a'”的意大利人。 它是在告诉我没有 Unicode 替换吗?

其次,在一般情况下如何防止这种情况? 我正在尝试编写代码来抽取和转储文本文件以进行自然语言处理:来自 XML --> 纯文本。我不能让它因为这样的事情而崩溃;我的意思是我相信我可以手动编辑出有问题的角色,但我不能做到 1000 次......

0 投票
2 回答
4825 浏览

python - 如何在 python 中将 u'\uf04a' 转换为 unicode

我正在尝试在 python 中解码 u'\uf04a' 因此我可以打印它而不会出现错误警告。换句话说,我需要将愚蠢的微软 Windows 1252 字符转换为实际的 unicode

包含异常错误的 html 来源来自这里http://members.lovingfromadistance.com/showthread.php?12338-HAVING-SECOND-THOUGHTS

单击此处阅读有关 u'\uf04a' 和 u'\uf04c' 的信息http://www.fileformat.info/info/unicode/char/f04a/index.htm

一个示例如下所示:

Out[408]: u'天哪,请给点建议 \uf04c'

给定一个像这样的线程作为测试的一个例子:

'charmap' 编解码器无法对位置 1526 中的字符 u'\uf04a' 进行编码:字符映射到未定义

在两个 Python 脚本的帮助下,我成功转换了 u'\x92',但我仍然卡在 u'\uf04a' 上。有什么建议么?

参考

https://github.com/AnthonyBRoberts/NNS/blob/master/tools/killgremlins.py

使用 Python 处理 CSV 中的非标准美式英语字符和符号

解决方案:

根据下面的评论:我用问号('?')替换这些字符集

希望这对其他初学者有所帮助。

0 投票
1 回答
15997 浏览

python - Numpy loadtxt 编码

我正在尝试使用 numpy.loadtxt 加载数据...我尝试读取的文件使用的是 cp1252 编码。是否有可能使用 numpy 将编码更改为 cp1252?

以下

给出:

该文件包含元数据(前 n 行),后跟一个浮点数表。

编辑:仅在 Ubuntu (12.04) 上运行此问题时才会出现此问题。在 Windows 上它运行良好。出于这个原因,我认为这个问题与编码有关。

Edit2:打开文件如下所示也很好用:

但是我想使用 np.loadtext 将数据直接读入一个 numpy 数组。

0 投票
1 回答
984 浏览

eclipse - 我可以在 Eclipse 中安装额外的编码吗?

我有一个问题,我需要使用在 windows 下创建(并且仍在使用)的 subversion 存储库。因此,默认编码是CP-1252.

现在我想在 linux 中签出这个存储库并使用 eclipse 更改那里的文件。iconv如果可能的话,我不想使用to重新编码整个文件,UTF-8因为我不知道 windows 下的程序会表现得如何。

我的第一个想法是将项目编码设置为CP-1252. 在我的 Eclipse 安装(Linux 下的 Kepler)下,没有CP-125x编码选项。只有一些UTF-*ISO-8859-1是可选择的。

有没有办法在 eclipse 中安装更多的编码?