在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
c# 中方法 string str = "中华人民共和国";
int strLen = System.Text.Encoding.Default.GetByteCount(str);
该方法得出的字符长度为14,JAVA端计算得出的长度为21 换为以下代码解决 string str = "中华人民共和国";
int strLen = System.Text.Encoding.UTF8.GetByteCount(str);
问题得到解决 补充一下,C#与JAVA通讯时,计算字节长度的编码一定要与传输的编码一致,否则,如果接收方限制比较严格的话,会报异常,我这里报错是因为,我传输用的是GBK,计算字长用的是UTF-8,结果长度字段值比实际传输的字节要长,JAVA端报错 java.io.EOFException at java.io.DataInputStream.readFully(DataInputStream.java:197) at java.io.DataInputStream.readFully(DataInputStream.java:169)
总结,有的时候,不是编程语言互通的问题,不要有问题就去骂JAVA或C#,编码要一致 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论