动态生成8位unicode转化为字符

3

我将动态显示Unicode,

例如,我知道"\U00020001"会显示一个字符(下面是变量"standard_format")。然而,我只能直接显示整个字符串("\U00020001")。

我想知道如何将该字符串显示为一个字符。

image reference

2个回答

5

如果你写 "\U0002B695",整个字符串将被识别为转义序列。然而,在 "\\U0002B695" 中,只有 \\ 会被识别为 \ 的转义序列。我不知道是否有一种方法可以这样构建字符串文字,然后像编译器那样解析它。

为了获取字符串,你需要将十六进制值转换为整数,然后将其转换为字符串:

string txt_unicodePoint = "2B695";

int value = int.Parse(txt_unicodePoint, System.Globalization.NumberStyles.HexNumber);
string result = char.ConvertFromUtf32(value).ToString();

很酷。它可以工作,你知道如何编辑HTML头文件以正常显示该字符吗? - K.C
@K.C:也许这个链接有帮助:https://dev59.com/2nI-5IYBdhLWcg3wwLO3 - pescolino

0

我使用了字符串 output2 = Char.Parse(output).ToString(); - K.C
但是出现了另一个错误:字符串必须恰好为一个字符长。 - K.C
这是非常正确的。如果您想从现有字符串中提取这些转义序列,您需要使用正则表达式进行匹配并逐个解析。这是为了什么目的?比如一个表单的“组合”部分,人们可以在其中输入这些序列,而您想显示编码后的字符串? - djcrabhat

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接