我有一串八进制转义符,需要将其转换为韩语文本 - 不知道如何转换

kda*_*vej 0 c# escaping octal string-conversion

我发现了一个类似的问题:

\n\n

将整数转换为 UTF-8(韩语)

\n\n

但我不知道你会如何在 .net c# 中做到这一点

\n\n

问题:我有一个来自数据库的字符串 - "\\354\\202\\254\\354\\232\\251\\354\\236\\220\\354\\203\\201\\354 \\204\\270\\354\\240\\225\\353\\263\\264\\354\\236\\205\\353\\240\\245"

\n\n

这应该转换为 - \xec\x82\xac\xec\x9a\xa9\xec\x9e\x90\xec\x83\x81\xec\x84\xb8\xec\xa0\x95\xeb\xb3\xb4\xec\ x9e\x85\xeb\xa0\xa5

\n\n

任何帮助将不胜感激!

\n

Dou*_*las 6

转换涉及多个步骤:

\n\n
    \n
  1. 354从源字符串中提取各个八进制数字(例如)。
  2. \n
  3. 将每个八进制字符串表示形式转换为其十进制等效字节。
  4. \n
  5. 将字节序列解码为 UTF-8。
  6. \n
\n\n

这是一个示例实现:

\n\n
string source = @"\\354\\202\\254\\354\\232\\251\\354\\236\\220\\354\\203\\201\\354\\204" +\n                @"\\270\\354\\240\\225\\353\\263\\264\\354\\236\\205\\353\\240\\245";\n\nbyte[] bytes = source.Split(new[] { \'\\\\\' }, StringSplitOptions.RemoveEmptyEntries)\n                     .Select(s => (byte)Convert.ToInt32(s, 8))\n                     .ToArray();\n\nstring result = Encoding.UTF8.GetString(bytes);   // "\xec\x82\xac\xec\x9a\xa9\xec\x9e\x90\xec\x83\x81\xec\x84\xb8\xec\xa0\x95\xeb\xb3\xb4\xec\x9e\x85\xeb\xa0\xa5"\n
Run Code Online (Sandbox Code Playgroud)\n