日期:2014-05-20  浏览次数:20848 次

将字符串转换为字节数组的算法
问大家一个问题,随便拿过来一个字符串,用什么算法可以转成一个字节数组,然后还能从字节数组恢复过来呢,别跟我说.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)