formatting - .NET GUID 大写字符串格式

我需要将我的 GUID 格式化为虚线格式,全部大写。我知道使用 myGuid.ToString("D")String.Format("{0:D}", myGuid) 给出虚线格式,但使用大写 D 而不是小写的 d 并没有像我想象的那样给我一个大写的 GUID。有没有办法做到这一点而不做任何疯狂的事情,或者我只需要调用 myGuid.ToString().ToUpper()

最佳答案

请注意 RFC 4122 ,它定义了 UUID 规范,规定在将结构转换为字符串时,输出的十六进制字符应该是小写的:

  The hexadecimal values "a" through "f" are output as
  lower case characters and are case insensitive on input.

这可以解释为什么 Guid 结构不支持直接输出为大写字符串。

由于 ToString 格式提供程序参数被忽略,唯一的替代方法(不简单地将字符串转换为大写)是直接操作字节,同时注意保持字节顺序。简单地转换为大写(直接或通过扩展方法)可能要简单得多。

https://stackoverflow.com/questions/6868300/

相关文章:

formatting - 我可以在 specflow 中更改 Gherkin 格式样式吗?

python - 我应该如何在 python 中缩进三元条件运算符以使其符合 PEP8?

css - 无法使用 class=pull-right 或 float :right 向右浮动 tw

python - 如何使用 .format() 打印字符串,并在替换的字符串周围打印文字花括号

c# - 大写的UTF-8?

python - 在 OSX 上使用格式语言的德语数字分隔符?

powershell - 使用格式表控制列宽

layout - Mathematica 中的 2 列文档

r - xtable 用于条件单元格格式化表格的重要 p 值

php - 格式化 MySQL 查询的结果,就好像它是从控制台运行的一样