我有一个编码字符串(创建其中没有关于并且可能无法更改的信息),其开头有8个随机字符(在编码之前和解码之后)。然后有效数据开始。解码后的字符串:String plainText = @#$%^&@#valid_data
现在,当我执行plainText.substring(8)
时,我会获得 valid_data 。有时候,随机字符是多字节的,如普%^& @#valid_data ,其中普通有3个字符。对此进行plainText.substring(8)
会返回 lid_data 。普数计为1,因此8个字符一直延伸到 va 。
我想要的是,我的代码将普数计算为3,因此只从字符串plainText
中删除普通%^& @#。
我的php对应物通过使字符串函数multibyte-unsafe轻松实现了这一点。即使用substr()
代替mb_substr()
。
这在Java中可行吗?或者确保不丢失有效数据的唯一方法是确保多字节字符根本不加密?
编辑:我应该添加这个 - 这在我的本地Windows环境中可行,但在Staging unix环境中却没有。答案 0 :(得分:-1)
有效数据总是以相同的字符开头吗?或者随机字符总是以相同的结尾?
PS:sry在这里问这个,我还不能评论帖子......