c#中将单引号字符串转换为uint [重复]
Posted
技术标签:
【中文标题】c#中将单引号字符串转换为uint [重复]【英文标题】:Single quoted string to uint in c# [duplicate] 【发布时间】:2013-10-30 01:56:55 【问题描述】:我正在将一些 C++ 转换为 C# 代码,我看到了以下定义:
#define x 'liaM'
首先,这个单引号常量是什么意思?我是否在 c# 中将其设为字符串常量?
其次,在 C++ 中,这个常量被赋值给一个 uint 变量。它是如何工作的?
uint m = x;
【问题讨论】:
由于您的问题主要是关于某些 C++ 代码的含义,我会添加该语言标记以及 C# 标记。 ***.com/questions/3683602/… ***.com/questions/7459939/… 【参考方案1】:这有时称为FOURCC。有一个 Windows API 可以将字符串转换为名为 mmiostringToFOURCC 的 FOURCC,这里有一些 C# 代码可以做同样的事情:
public static int ChunkIdentifierToInt32(string s)
if (s.Length != 4) throw new ArgumentException("Must be a four character string");
var bytes = Encoding.UTF8.GetBytes(s);
if (bytes.Length != 4) throw new ArgumentException("Must encode to exactly four bytes");
return BitConverter.ToInt32(bytes, 0);
【讨论】:
为什么不直接使用BitConverter.ToInt32(char[] 'l', 'i', 'a', 'M' );
并完全跳过字符串?
@BenVoigt 是的,甚至更好。我编写了上面的代码作为调用 mmioStringToFOURCC
其实我的评论应该用byte[]
以上是关于c#中将单引号字符串转换为uint [重复]的主要内容,如果未能解决你的问题,请参考以下文章
当字符串在双引号内有单引号时,如何在Javascript中将此字符串转换为JSON对象
在 CodeIgniter 的 url_title 函数中将单引号转换为分隔符