gpt4 book ai didi

c# - 如何将十六进制转换为字符串?

转载 作者:太空宇宙 更新时间:2023-11-03 16:26:27 25 4
gpt4 key购买 nike

我有一些十六进制值的字符串。示例:

<font color=**"&#x26;amp&#x3B;****amp&#x3B**;**amp&#x3B;&#x23;x23&#x3B;**336699">Hi How ARE YOU</font>

我想将上面的字符串存储到数据库中。在这个字符串中,我发现了一些十六进制值。存储时我想将十六进制转换为字符串。C#.net 有解决办法吗?

最佳答案

要解析一个十六进制,你会做这样的事情:

var hex = "0xFFFFFF";
uint color;

if(uint.TryParse(hex, NumberStyles.HexNumber, CultureInfo.CurrentCulture, out color))
{
//Parsing ok
}else{
color = 0; //Parsing failed
}

我不知道你上面的字符串,所以我不确定如何从中提取十六进制。


编辑#1:

据我所知,你想解析这个字符串

<font color=**"&#x26;amp&#x3B;****amp&#x3B**;**amp&#x3B;&#x23;x23&#x3B;**336699">Hi How ARE YOU</font>

并生成字符串

<font color=0x0987AF>Hi How ARE YOU</font>

我不知道你的颜色代码是如何创建的,所以我无法解析它。

它嵌入到您可以使用的常规语言中 regular expressions将重要的和平放在一起并分析这些结果。如果它是 HTML 或类似的东西,你不能使用正则表达式,而应该逐个字符地遍历它。在这种情况下,使用 StringBuilder 可以使您的代码保持快速。

一旦你把所有的 stringpeaces 放在一起,你就可以单独解析它们,计算颜色,然后使用 String.Format(""{0:X06}"", color) 将它输出为十六进制再次。


编辑#2:

我不知道那个颜色字符串的编码,所以我只能粗略估计我将如何解析它。

我假设该字符串中的最后一位数字是颜色,其他一切都只是噪音。所以这个

<font color=**"&#x26;amp&#x3B;****amp&#x3B**;**amp&#x3B;&#x23;x23&#x3B;**336699">Hi How ARE YOU</font>

应该变成这样

<font color="&336699">Hi How ARE YOU</font>

我没有显示隔离颜色字符串的第一部分,但我想指出你不应该尝试使用 regular expressions on html .而是像使用 mathematical expression 一样逐个字符地检查它.

 String examplestring = @"color=**""&#x26;amp&#x3B;****amp&#x3B**;**amp&#x3B;&#x23;x23&#x3B;**336699""";
Console.WriteLine(examplestring);
String lastsixnumbers = examplestring.Substring(examplestring.Length - 7, 6);
Console.WriteLine(lastsixnumbers);
String final = String.Format("color=\"#{0}\"", lastsixnumbers);
Console.WriteLine(final);
Console.ReadKey();

这有帮助吗?如果不是,那么我对颜色代码的理解可能是错误的——你能不能使用 color codes 提供更多实际匹配的结果?甚至更好地向我提供颜色编码方式的知识。

关于c# - 如何将十六进制转换为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12421081/

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