getHexString这个函数,直接粘到C#就成,不用改的.
toHexString,没看懂到底想干什么.
toHexString,没看懂到底想干什么.
解决方案 »
- c# 中 输出 窗体中所有 panel 中 的 控件 Name 及 Text 中的值
- c# string 重载+运算符
- web窗口初始化大小问题
- 如何实现定时发送邮件啊???
- 刚学c#,想象大家请问一个入门的问题!
- Asp.net 2.0 中GridView 如何固定一个ColumnHeader的宽度
- 关于资源文件的使用,找遍Google、MSDN都没有答案,寄望于各位了
- 我在.net环境中debug的时候为什么和数字相关的都是用16进制表示阿,怎么样改为10进制的
- 如何在Application里面生成SQL查询语句
- 我从网上找了一段翻转图代码,是js的,怎么进行数据绑定啊,c#
- ASPxComboBox控件的模糊查询
- Winform窗体的菜单栏和状态栏 在拖动窗体或放大窗体时 会出现明显黑影
public static string ToHexString(string str)
{
return String.Join(str.Select(ch => ((int)ch).ToString("X4")));
}
public static string ToHexString(string str)
{
return String.Join(String.Empty, str.Select(ch => ((int)ch).ToString("X4")));
}
{//这个基本不用改
String hexStr = "";
for (int i = hexString.Count(); i < 4; i++)
{
if (i == hexString.Count())
hexStr = "0";
else
hexStr = hexStr + "0";
}
return hexStr + hexString;
} public String toHexString(String str)
{
String strResult = null;
char [] charAt=str.ToCharArray();
for (int i = 0; i < str.Count(); i++)
{
if (i == 0)
{
// strResult = getHexString(Integer.toHexString(str.charAt(i)).toUpperCase());
strResult = getHexString(Convert.ToInt32(charAt[i]).ToString("X2"));
}
else
{
//strResult = strResult + getHexString(Integer.toHexString(str.charAt(i)).toUpperCase());这是你原来的代码
strResult = strResult + getHexString(Convert.ToInt32(charAt[i]).ToString("X2"));
}
}
return strResult;
}
看看c#的代码多好. .一句话解决了java几十行的代码..战斗力只有5的java是不会懂的...
{
string strResult = string.Empty; char[] strToChars = str.ToCharArray(); for (int i = 0; i < strToChars.Length; i++)
{
strResult += GetHexString((Convert.ToInt32(strToChars[i])).ToString().ToUpper());
} return strResult;
} private static string GetHexString(string hexString)
{
string hexStr = "0000"; if (hexString.Length < 4)
{
hexStr = hexStr.Substring(0, 4 - hexString.Length);
} return hexStr + hexString;
}直接翻译过来是这样,如果你能描述下你的需求的话可以写的更好一点。你是想把每一个字符转换成四位的16进制么?
想简化,应该这样:
private static string GetHexString(string hexString)
{
return hexString.PadLeft(hexString.length()*2,'0');
}