gpt4 book ai didi

java - 查看一组字节是否在 Java 中编码为 UTF-8 有什么好的启发式方法?

转载 作者:行者123 更新时间:2023-12-03 23:32:04 26 4
gpt4 key购买 nike

我有一个字节流,它可能是 UTF-8 数据,也可能是二进制图像。通过检查前 100 个字节左右,我应该能够有根据地猜测它是哪一个。

但是,我还没有弄清楚如何在 Java 中执行此操作。我尝试过执行以下操作:

new String( bytes, "UTF-8").substring(0,100).matches(".*[^\p{Print}]") 查看前 100 个字符是否包含不可打印字符,但是似乎不起作用。

有更好的方法吗?

最佳答案

在格式良好的 UTF-8 中,设置了最高位的字节必须跟在或之前有另一个设置了最高位的字节;运行的第一个必须以设置的两个最高位开始,其余必须清除次高位(实际上,N 个最高位字节的运行的第一个必须设置最高 N 位,而下一个一清二楚)。

这些特征应该很容易找到。

关于java - 查看一组字节是否在 Java 中编码为 UTF-8 有什么好的启发式方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1309325/

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