【问题标题】:Decoding 'code string' to UTF8 and string将“代码字符串”解码为 UTF8 和字符串
【发布时间】:2017-11-09 03:10:04
【问题描述】:

首先,对不起我的知识......

首先我有字符串类型值%B3%F3%C7%F9

由于我从其他处理器收到它,我不知道它是如何制作的......(只是我收到了这个字符串) 我只知道

  1. 这是用韩语编码的东西(我猜是농협
  2. 编码方法是utf-8euc-kr 之一

我要做的是将这个奇怪的编码字符串解码为 utf-8 字符串。 (例如,将%B3%F3%C7%F9解码为농협并赋值为字符串类型变量)

感谢您的关注

(我正在使用 ASP.NET Core 1.1)

【问题讨论】:

    标签: c# utf-8


    【解决方案1】:

    您的 % 值基本上是 URL 编码,因此 %F9 表示字节值 249,例如。

    所以你需要做的第一件事就是把它转换成一个字节数组。在我的示例中,我以一种可能低效的方式完成了此操作。完成后,您需要使用 EUC-KR 编码类型将该字节数组转换为字符串。

    public static void Main()
    {
        string data = "%B3%F3%C7%F9";
        byte[] bData = new byte[data.Length / 3];
        for (int i = 0; i < data.Length; i += 3)
        {
            int pos = i / 3;            
            bData[pos] = Convert.ToByte(data.Substring(i + 1, 2), 16);
        }
        data = System.Text.Encoding.GetEncoding("euc-kr").GetString(bData);
        Console.WriteLine(data);
    }
    

    Fiddle

    【讨论】:

    • 太棒了!有用!!感谢您的回答和解释!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-02
    • 1970-01-01
    • 2017-02-12
    • 1970-01-01
    • 2017-04-14
    • 1970-01-01
    相关资源
    最近更新 更多