我有一个低于值的Java字符串:
如果我打印字符串,则在下面打印:
Content-Type:application / isup;版本= ttc93虎;基= ttc93 +
^ A ^ C ^ B ^ G ^ C ^ P ^ P ^ B ^ X ^ BP ^ g ^ C ^ Q ^ P ^ B ^ Y 1 CPE ^ E \ 236 ^ B - 独特边界-1
我们在C代码中传递此字符串后,C代码将此字符串存储在字符指针中。这是打印
Content-Type:application / isup;版本= ttc93虎;基= ttc93 +
我的意思是我没有得到^ A病房后的人物。
我没有超越角色的任何理由......有些上限^不支持......类似的东西..
答案 0 :(得分:4)
^A
看起来像二进制数据给我。在Java中,字符串可以包含任何字符(甚至0字节),因为Java存储字符和字符串的长度。在C中,第一个0字节将终止字符串。
要验证理论,请尝试在转义二进制数据时打印字符串,例如使用commons-lang中的StringEscapeUtils
或编写自己的小程序。