编码BUG
视窗 传输 数据 到 安卓,数据:文本到UTF8(“1,2”)安卓接收数据, 字节数组到文本() 得到文本后 正则分割文本()
数组=“2” 不等于。
很困惑。
static/image/hrline/4.gif
我猜肯定是有尾巴,所以视窗部分 文本到UTF8(“1,2”,假)意思是不带 00 结尾。
这时候安卓部分 数组=“2” 等于了。
这个尾巴 应该什么时候带 什么时候不带呢....有点懵 尾巴一般都不用带。所以这个参数应当默认为假才对 文本到utf8将参数设置为假就行了。如果要和其它的进行通讯交互,就全部设置为假 你们都没懂我的本意,既然安卓端是文本处理,那么就不应该带尾巴,因为 00就是终止符。 本帖最后由 Xelloss0618 于 2022-9-25 11:00 编辑
b0y 发表于 2022-9-25 08:36
这个尾巴 应该什么时候带 什么时候不带呢....有点懵
网络通讯一般不带结尾0字符,但跟系统API和其他C++库传参时,一般是需要的 urenai 发表于 2022-9-25 10:53
你们都没懂我的本意,既然安卓端是文本处理,那么就不应该带尾巴,因为 00就是终止符。 ...
安卓端的文本型是直接用 Java 的 String,不像视窗是老吴自己写的。
所以这不是bug,是 Java 自身的特性。
Java 的 String 没有字符串结束标志,你传了\0字符进去,肯定会有些错乱的 Xelloss0618 发表于 2022-9-25 11:14
安卓端的文本型是直接用 Java 的 String,不像视窗是老吴自己写的。
所以这不是bug,是 Java 自身的特性 ...
原来如此,我不懂才提的。现在明白了。
页:
[1]