Unicode 什么字符编码是c3 82 c2 bf?

Unicode 什么字符编码是c3 82 c2 bf?,unicode,encoding,Unicode,Encoding,我有一个包含字节序列c3 82 c2 bf的文本数据源。在上下文中,我认为它应该是一个大写的希腊Phi符号(Φ) 无论如何,我不知道正在使用什么编码;我正在编写一个Python脚本,将这些数据处理到一个需要Unicode的数据库中,它会在这个特定的数据序列上抛出一个异常 有关于如何处理它的建议吗?解释为UTF-8,c3 82是“U+00C2”,c2 bf是“U+00BF”,这没有多大意义,但它是技术上有效的UTF-8数据,因此不应报告为字符级数据错误。解释为UTF-16,它是韩语音节,可能是CJ

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

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


有关于如何处理它的建议吗?

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


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

这可能是从
字符到
字符的双重转换

ini
UTF-8中的字符是:
0xc391

如果尝试将UTF-8中已编码的
字符从拉丁语-1转换为UTF-8,您将得到:
0xc382c2bf

为什么?

  • 0xc382
    是从拉丁语-1
    0xc3
    字符
    Ã
    翻译过来的UTF-8(带波浪号的A)
  • 0xc2bf
    字符,当您无法从拉丁语-1转换字符时,您会得到该字符(
    0x91
    拉丁语-1中是无效字符)

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

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

    二进制x0xx转换为0xC2 x0xx

    二进制x1xx转换为0xC3 x0xx

    因此,添加了大量c2和c3


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

    在使用$str=mb\u convert\u编码($content,“utf-8”,“utf-16LE”);(PHP)转换为utf-8后,我从外部utf-16文档收到了这个字符\xc3\x82

    原始序列是0xA0 0x00,转换器可能将其转换为NBSP。它是货币编号中千位分隔符处的字符。NBSP是\xc2\xa0,因此现在我有千位,如下所示:

    $price = str_replace(["\xc2\xa0","\xc3\x82"], '', $price);
    

    你们能发布更多用魔法编码的样本数据吗?是什么让你们认为它是一个字母?在上下文中是“磁通量\xc3\x82\xc2\xbffa”这可能是Φfat这是目前为止唯一的故障数据,所以我只需要继续。它看起来像一个双编码的U+00BF,倒问号。@Keith Thompson,没错!如果你有U+00BF,并且你用UTF-8编码它,你就得到了C2-BF字节。如果你错误地将这些字节解释为U+00C2和U+00BF,并且用UTF-8编码它们,哟u得到C3 82 C2 BF,与实际数据一样。这仍然是一个“?”来自何处的问题。我通常认为这是另一个错误转换的结果(可能是到8位编码之间),但我无法想象它可能是什么。这里没有Φ,但有另外两个半有希望的希腊符号。这里有一个PowerShell脚本,可以帮助人们确定双编码utf8字符串中的内部编码是什么。对于这个特殊字符,候选字符是
    iso-8859-15
    iso-8859-9
    iso-8859-1
    windows-1258
    windows-1254
    windows-1252
    [System.Text.Encoding]::GetEncodings()|%{“$($.Text.CodePage)$($.Name):“+[System.Text.Encoding]::UTF8.GetString([System.Text.Encoding]::GetString编码($.Text.)::GetString编码($.CodePage.)((0xC3,0x82,0xC2,0xBF)))}
    谢谢,但这与ñ无关,这是一篇有意义的工程论文。最有可能的情况是,
    (带波浪线的A)+(上边?)
    是任何无意中双重转换的结果。因此,无法将您的方式还原为原始角色。也许还可以看到神秘序列略有不同。谢谢,但这是一篇工程论文,与货币无关。