2 kakadoor kakadoor 于 2015.07.17 13:24 提问

非数字string 转 int(32位非零),传给另一方,在转回到原string,求助

非数字string 转成 int(32位非零),传给另一方,在转回到原string,求助 :
我尝试了 string--byte[]--int32 然后 int32--byte[]--string的转换,结果只得到原string的前几位
代码
string scene_id = "SYSTEM000000000000018428#0000000001";

        byte[] myBytes = Encoding.UTF8.GetBytes(scene_id);
        long iscene = BitConverter.ToInt64(myBytes,0);

        byte[] tb = BitConverter.GetBytes(iscene);
        string ts = Encoding.UTF8.GetString(tb);

3个回答

Tiger_Zhao
Tiger_Zhao   Rxr 2015.07.17 13:33
已采纳

你在想什么?scene_id的UTF-8编码长度原超过8字节,你只传8字节怎么可能还原全部?
必须把整个字节数组都传过去啊。

kakadoor
kakadoor 放弃这个法子了
2 年多之前 回复
Tiger_Zhao
Tiger_Zhao 回复kakadoor: 也可以,用 ToInt64 的数组传啊。单都是数组,何必多一层转换呢。
2 年多之前 回复
kakadoor
kakadoor 其实我是问有没有办法能实现,我试过就知道这法子不行了
2 年多之前 回复
CSDNXIAON
CSDNXIAON   2015.07.17 13:27

int 转 string
int转string
int转string
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

sinat_29900121
sinat_29900121 广告
2 年多之前 回复
91program
91program   Ds   Rxr 2015.07.17 14:16

非数字string 转成 int,这个好像是不行吗。数字的 tring 才行!
直接传 byte[] 字符就行。为什么一定要转成 int 呢?

Csdn user default icon
上传中...
上传图片
插入图片