将字符串转换为字节数组的算法
问大家一个问题,随便拿过来一个字符串,用什么算法可以转成一个字节数组,然后还能从字节数组恢复过来呢,别跟我说.net或java中有现成的算法啊,那个我早知道了,我只是想知道跟语言无关的一个通用算法,先谢谢大家了,请路过的高手不吝指点一下
------解决方案--------------------每个字符串有n个字符组成,每个字符都对应ascii,每个ascii可转成字节,当然汉字要特殊处理,下面代码没考虑汉字的情况,需要特殊处理
string a = "abcdef";
byte[] b = new byte[a.Length];
int i = 0;
foreach (char c in a)
{
b[i] = (byte)(c);
i++;
}
------解决方案--------------------
string a = "abc中文";
char[] b = a.ToCharArray();
string c = new string(b);
------解决方案--------------------
汉字也有ascii码(负数),可以转成两个字节,也很简单的,数组根据ascii是否是负数来偏移
------解决方案--------------------字符串转字节数组,本来就与无言无关,需要双方统一编码规范,比如UFT-8
------解决方案--------------------try
Encoding.Unicode.GetBytes(string)