在编写程序时遇到一个问题,需要把一个19为的字符串转换为16进制。不想使用分段转换,想一次性的全部转换。
C#中支持9种整型:sbyte,byte,short,ushort,int,uint,long,ulong和char。
Sbyte:代表有符号的8位整数,数值范围从-128 ~ 127
Byte:代表无符号的8位整数,数值范围从0~255
Short:代表有符号的16位整数,范围从-32768 ~ 32767
ushort:代表有符号的16位整数,范围从0 到 65,535
Int:代表有符号的32位整数,范围从-2147483648 ~ 2147483648
uint:代表无符号的32位整数,范围从0 ~ 4294967295
Long:代表有符号的64位整数,范围从-9223372036854775808 ~ 9223372036854775808
Ulong:代表无符号的64位整数,范围从0 ~ 18446744073709551615。
char:代表无符号的16位整数,数值范围从0~65535。 Char类型的可能值对应于统一字符编码标准(Unicode)的字符集。
解决办法:首先将字符床转为ulong形式。列 string s="9831928491284392134";
ulong t = ulong.Parse(s); //把字符串转为无符号整数
s =t.ToString("x"); //转换为16进制。
将16进制的加密文本字符串转换为10进制 列:
ulong g = System.Convert.ToUInt64(s,16); //将16进制字符串转为ulong类型 ,如果转为long类型会出现符号。