积极答复者
关于字符编码的疑问

问题
答案
全部回复
-
feiyun0112 写: Convert.ToBase64String 方法 Convert.FromBase64String 方法
Convert.ToBase64String(Bytes()) 好像不管用,转换之后的结果字节数不一样了,用Getbytes(Convert.ToBase64String(Bytes()))不能得到与原来一样的Bytes()
我希望从字符转换为Bytes(),然后能转换为String,同时能够正确反向转换,总之要翻来覆去都能正确:)
就像原来写的这句的意思:
Text.Encoding.Default.GetBytes (Text.Encoding.Default.GetString(new Byte(){&HCC}))
-
abcjackson 写: feiyun0112 写: Convert.ToBase64String 方法 Convert.FromBase64String 方法
Convert.ToBase64String(Bytes()) 好像不管用,转换之后的结果字节数不一样了,用Getbytes(Convert.ToBase64String(Bytes()))不能得到与原来一样的Bytes()
我希望从字符转换为Bytes(),然后能转换为String,同时能够正确反向转换,总之要翻来覆去都能正确:)
就像原来写的这句的意思:
Text.Encoding.Default.GetBytes (Text.Encoding.Default.GetString(new Byte(){&HCC}))
Convert.ToBase64String 方法
Convert.FromBase64String 方法
可以解决这个问题,但是如果作为2进制文件保存则这种转换不太符合要求。
想了想,还是不转换为字符串了,但是若直接用Bytes(),Bytes数组怎样合并才能达到字符串的"&"运算的效果?
谢谢:)
-
feiyun0112 写: 好像没有,我想到的方法是先转成字符串再比较
Code SnippetFor i = 0 To bytes.Length
str = str & "|" & bytes(i).ToString()
Next.ToString()恐怕不是必要的,Bytes数组里全部Byte值都在0到255范围,
例如:
Bytes={87,40,30,32,125……}
Str="87|40|30|32|125"……
转为16进制可能整齐些:)
Str="57281E207D"……
虽然转成字符串再比较,可以利用字符串的现成的函数,但总觉得效率可能不是很好,毕竟后面打算继续用Bytes数组保存数据还得转换回来,直接用循环逐个比较数组元素的值,也许更好些吧,
当然所有比较函数都要自己写了:)