非数字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);

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

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