今天把一个c++程序改写成C#代码
1。对于包含中文的字符串,
1)在C++中,使用size()可以得出字符个数(中文按两个字符计算)
string src="你好abc";
src.size(); //7个字符
2)在C#中,要先换成byte数组,然后用length才能得到字符个数
byte[] bsrc = Encoding.Default.GetBytes(src);
int nSrcLength = bsrc .Length; //7个字符
2。把十六进制的数字放到两个字符里
1)在C++中,使用
sprintf_s(s1, "%x", bsrc[i]);
2)在C#中,
char[] c1= bsrc [i].ToString("x").ToCharArray();
本文介绍了从C++程序转换为C#时遇到的关于字符串长度计算及十六进制数字转换的方法。在C++中,通过使用size()获取包含中文的字符串长度,并在C#中采用byte数组及Length属性实现相同功能。此外,还提供了两种语言中十六进制数字到字符转换的具体实现。
803

被折叠的 条评论
为什么被折叠?



