将字符串转换为格式为“”的十六进制字符串;x.x&”;

本文关键字:字符串 十六进制 转换 格式 | 更新日期: 2023-09-27 18:28:42

我正在尝试将GUID已修改的字符串(例如6b5737e5728786794fff5e009d74d706)转换为格式类似'x..'x.. 的十六进制字符串

(字符串格式和十六进制字符对我不起作用)。有什么想法吗?

将字符串转换为格式为“”的十六进制字符串;x.x&”;

Regex.Replace(myString, ".{2}", "''x$0");

如果你想走一条非正则表达式的路线,那么以下可能会起作用:

string s = "6b5737e5728786794fff5e009d74d70";
var sb = new StringBuilder($s.Length * 2);
for (int i = 0; i < s.Length; i+=2)
  sb.Append("''x").Append(s.Substring(i, [Math]::Min(2, s.Length - i)));
string myNewString = sb.ToString();

如果您希望您的字符串包含(例如)代码点U+006B、U+0057、U+0037和&c.然后请三思字符串不是字节容器,它们是text容器在这种情况下,您需要byte[]

byte[] byteArray = new byte[(s.Length + 1) / 2]
for (int i = 0; i < s.Length; i+=2)
  byteArray[i/2] = Convert.ToByte(s.Substring(i, [Math]::Min(2, s.Length - i)));