gpt4 book ai didi

c# - 如何在 C# 中转义 unicode 字符串

转载 作者:可可西里 更新时间:2023-11-01 08:38:52 25 4
gpt4 key购买 nike

我有一个来自文本文件的 Unicode 字符串。我想展示真实的性格。

例如:

\u8ba1\u7b97\u673a\u2022\u7f51\u7edc\u2022\u6280\u672f\u7c7b

当从文本文件中读取这个字符串时,使用StreamReader.ReadToLine(),它会将\转义为'\\',例如"\\u8ba1",这是不需要的。

它将显示与文本相同的 Unicode 字符串。我想要的是显示真实的角色。

  1. 如何将结果字符串中的 "\\u8ba1" 更改为 "\u8ba1"
  2. 还是应该使用另一个Reader来读取字符串?

最佳答案

如果你有这样的字符串

var input1 = "\u8ba1\u7b97\u673a\u2022\u7f51\u7edc\u2022\u6280\u672f\u7c7b";

// input1 == "计算机•网络•技术类"

您不需要取消转义任何内容。它只是包含转义序列的字符串文字,而不是字符串本身。


如果你有这样的字符串

var input2 = @"\u8ba1\u7b97\u673a\u2022\u7f51\u7edc\u2022\u6280\u672f\u7c7b";

您可以使用以下正则表达式取消转义:

var result = Regex.Replace(
input2,
@"\\[Uu]([0-9A-Fa-f]{4})",
m => char.ToString(
(char)ushort.Parse(m.Groups[1].Value, NumberStyles.AllowHexSpecifier)));

// result == "计算机•网络•技术类"

关于c# - 如何在 C# 中转义 unicode 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8558671/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com