浏览 1658 次
|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2006-12-14
对以下两种GBK、UTF-8编码,google都能处理好,它是如何做到的?
http://www.google.cn/search?q=%D6%D0%B9%FA http://www.google.cn/search?q=%E4%B8%AD%E5%9B%BD 百度却不能处理好 http://www.baidu.com/s?wd=%D6%D0%B9%FA http://www.baidu.com/s?wd=%E4%B8%AD%E5%9B%BD 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2006-12-14
把GBK的字库存在库里
如果有GBK的字在里面就用GBK转型 |
|
| 返回顶楼 | |
|
最后更新时间:2006-12-14
有道理,还有其他更简单的方法吗?
|
|
| 返回顶楼 | |
|
最后更新时间:2006-12-14
yangzheng 写道 有道理,还有其他更简单的方法吗?
要是用这种方式google就不叫google了....把所有的GBK字符组合用一种算法表示出来 用一个N*M阶矩阵来代表之后以一定的的路由跳入....迷宫走出进就已经变成UTF8码了.... |
|
| 返回顶楼 | |
|
最后更新时间:2006-12-14
它对长度也作了些判断,测试如下:
1、http://www.google.cn/search?q=%E4%B8%AD%E5%9B%BD 结果解析为“中国” 2、http://www.google.cn/search?q=%E4%B8%AD%E5%9B 解析为“涓”,就是当成GBK编码了 继续缩短,当长度是3的倍数,就作UTF-8处理,否则作GBK,因为UTF8里面常用汉字一般是3字节的,当然这里没考虑英文字符,不过大致是这么判断的。 继续测试: 3、http://www.google.cn/search?q=a%E4%B8%AD%E5%9B%BD 解析为“a中国” 4、http://www.google.cn/search?q=a%E4%B8%AD%E5%9B 解析为“a涓” 显然会扫描出英文字符。 测试: 5、http://www.google.cn/search?q=a%E4%B8%ADb%E5%9B%BD 解析为“a中b国” 6、http://www.google.cn/search?q=a%E4%B8%ADb%E5%9B 解析为“a涓璪鍥” 7、http://www.google.cn/search?q=a%E4%B8b%E5%9B%BD 解析为“a涓b鍥 ” 可以看出来它扫描出英文字符,同时切分出多字节字符串,并且判断这些字符串,如果其中一组不是UTF8的,那么所有的都当作GBK。我这里假设它只考虑这2种编码。 |
|
| 返回顶楼 | |
|
最后更新时间:2006-12-15
太强了...
|
|
| 返回顶楼 | |
|
最后更新时间:2007-01-23
数百分号个数的方法确实可以处理一部分情况,
但不适合既是2的倍数,又是3的倍数时. |
|
| 返回顶楼 | |








