问题描述
- 非数字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字节怎么可能还原全部?
必须把整个字节数组都传过去啊。
解决方案二:
int 转 string
int转string
int转string
解决方案三:
非数字string 转成 int,这个好像是不行吗。数字的 tring 才行!
直接传 byte[] 字符就行。为什么一定要转成 int 呢?
时间: 2024-12-27 00:50:44