论坛首页 综合技术版

google对URI编码的处理比百度表现的好,它是如何做到的呢?

浏览 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
   
最后更新时间:2006-12-14
把GBK的字库存在库里
如果有GBK的字在里面就用GBK转型
   
0 请登录后投票
最后更新时间:2006-12-14
有道理,还有其他更简单的方法吗?
   
0 请登录后投票
最后更新时间:2006-12-14
yangzheng 写道
有道理,还有其他更简单的方法吗?

要是用这种方式google就不叫google了....把所有的GBK字符组合用一种算法表示出来
用一个N*M阶矩阵来代表之后以一定的的路由跳入....迷宫走出进就已经变成UTF8码了....
   
0 请登录后投票
最后更新时间: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种编码。
   
0 请登录后投票
最后更新时间:2006-12-15
太强了...
   
0 请登录后投票
最后更新时间:2007-01-23
数百分号个数的方法确实可以处理一部分情况,
但不适合既是2的倍数,又是3的倍数时.
   
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
JavaEye推荐