什么字符编码是c3 82 c2 bf



我有一个文本数据源,其中包括字节序列c3 82 c2 bf。在上下文中,我认为它应该是大写希腊语Phi符号(Φ)。

不管怎样,我不知道使用了什么编码;我正在编写一个Python脚本,将这些数据处理到一个需要Unicode的数据库中,它会对这个特定的数据序列抛出一个异常。

关于如何处理有什么建议吗?

解释为UTF-8,c382是"U+00C2,c2-bf是"?"U+00BF,这没有多大意义,但它在技术上是有效的UTF-8数据,因此不应报告为字符级数据错误。被解释为UTF-16,它是朝鲜文音节,可能是CJK表意文字,取决于词尾,但仍然是形式上有效的数据,尽管很可能不是什么意思。

这听起来像是双重转换的结果,但很难做出有根据的猜测。如果它代表Φ,那么UTF-16格式是03 A6或A6 03,UTF-8格式是CE A6,这与实际数据并不相似。有关数据来源的信息可能有助于猜测可能发生了什么代码转换。

这可能是Ñ字符的双重转换。

UTF-8中的Ñ字符为:0xc391

如果您尝试将已经用UTF-8编码的Ñ字符从LATIN-1转换为UTF-8,您将得到:0xc382c2bf

为什么?

  1. 0xc382UTF-8LATIN-10xc3字符Ã(带波浪号的A)的翻译
  2. 0xc2bf¿字符,当您无法转换LATIN-1中的字符时,会得到该字符(0x91LATIN-1中无效的字符

FWIW,我最终从 得到了c3 82 c2 bf。我没有深入研究转换,因为我可以简单地丢弃这部分代码。只要说 在一个由wordpress(php)插件处理的html电子邮件模板中就足够了。

我不知道原因。但也许有一个可能的场景。

二进制x0xx转换为0xC2 x0xx

二进制x1xx转换为0xC3 x0xx

所以添加了很多c2和c3。

这是在哪里发生的?为ajax调用发送url中的非ascii查询字符串,Flask服务器将执行此操作。

在使用$str=mb_convert_encoding($content,"utf-8","utf-16LE")转换为utf-8后,我从外部utf-16文档中收到了此字符\xc3\x82;(PHP)

最初的序列是0xA0 0x00,转换器可能将其转换为NBSP。。它是货币数字中千位分隔符的字符。nbsp是\xc2\xa0,所以现在我有数千个删除作为:

$price = str_replace(["xc2xa0","xc3x82"], '', $price);

最新更新