小编Dor*_*ine的帖子

实现一个函数来检查字符串/字节数组是否遵循utf-8格式

我正在努力解决这个面试问题.

在明确定义了UTF-8格式之后.例如:1字节:0b0xxxxxxx 2字节:....要求编写一个函数来验证输入是否有效UTF-8.输入将是字符串/字节数组,输出应为是/否.

我有两种可能的方法.

首先,如果输入是一个字符串,因为UTF-8最多是4个字节,在我们删除前两个字符"0b"之后,我们可以使用Integer.parseInt(s)来检查字符串的其余部分是否在范围0到10FFFF.此外,最好检查字符串的长度是否为8的倍数,以及输入字符串是否首先包含全0和1.所以我将不得不经历两次字符串,复杂性将是O(n).

其次,如果输入是字节数组(如果输入是字符串,我们也可以使用此方法),我们检查每个1字节元素是否在正确的范围内.如果输入是一个字符串,首先检查字符串的长度是8的倍数然后检查每个8字符的子字符串是否在该范围内.

我知道有很多关于如何使用Java库检查字符串的解决方案,但我的问题是我应该如何根据问题实现该功能.

非常感谢.

java string utf-8

13
推荐指数
2
解决办法
2万
查看次数

标签 统计

java ×1

string ×1

utf-8 ×1