gpt4 book ai didi

java - .substring() 在 Unix/Linux 上处理 Java 中的多字节字符时

转载 作者:行者123 更新时间:2023-11-29 09:30:35 28 4
gpt4 key购买 nike

我有一个编码字符串(我没有关于它的创建信息,也可能无法更改),它的开头有 8 个随机字符(编码前和解码后)。然后有效数据开始。解码后的字符串:String plainText = @#$%^&@#valid_data

现在,当我执行 plainText.substring(8) 时,我得到了 valid_data。但有时,随机字符是多字节的,例如 普%^&@#valid_data 其中普有 3 个字符。对此执行 plainText.substring(8) 返回 lid_data 。普算作 1,所以这 8 个字符扩展到 va

我想要的是,我的代码将普计为 3,因此仅从字符串 plainText 中删除普%^&@#。

我的 php 对手通过使字符串函数多字节不安全轻松地实现了这一点。即,使用 substr() 而不是 mb_substr()

这在 Java 中可行吗?或者确保不丢失有效数据的唯一方法是确保多字节字符根本不被加密?

编辑:我可能应该添加这个 - 这在我的本地 Windows 环境中如我预期的那样工作,但在 Staging unix 环境中却没有。

最佳答案

有效数据是否总是以相同的字符开头?或者随机字符总是以相同结尾?

PS:很抱歉在这里问这个问题,我还不能评论帖子....

关于java - .substring() 在 Unix/Linux 上处理 Java 中的多字节字符时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16175110/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com