惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Darknet – Hacking Tools, Hacker News & Cyber Security
Jina AI
Jina AI
博客园_首页
J
Java Code Geeks
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 司徒正美
Hugging Face - Blog
Hugging Face - Blog
S
SegmentFault 最新的问题
MyScale Blog
MyScale Blog
P
Proofpoint News Feed
L
Lohrmann on Cybersecurity
Forbes - Security
Forbes - Security
大猫的无限游戏
大猫的无限游戏
Vercel News
Vercel News
Y
Y Combinator Blog
Google DeepMind News
Google DeepMind News
The Register - Security
The Register - Security
N
News | PayPal Newsroom
S
Security Archives - TechRepublic
量子位
Cisco Talos Blog
Cisco Talos Blog
V
V2EX
C
Cisco Blogs
The Cloudflare Blog
Stack Overflow Blog
Stack Overflow Blog
L
LangChain Blog
Scott Helme
Scott Helme
S
Securelist
Security Latest
Security Latest
爱范儿
爱范儿
TaoSecurity Blog
TaoSecurity Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
I
Intezer
L
LINUX DO - 最新话题
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
C
Check Point Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
美团技术团队
Know Your Adversary
Know Your Adversary
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
PCI Perspectives
PCI Perspectives
月光博客
月光博客
T
Tailwind CSS Blog
Cloudbric
Cloudbric
小众软件
小众软件
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
K
Kaspersky official blog
D
DataBreaches.Net
博客园 - 【当耐特】
有赞技术团队
有赞技术团队

博客园 - ghx88

工具记录 [ 转]discuz 的加密与解密函数authcode解析 Balsamiq Mockups完全手册[转] 使用安全json parser防止json注入 [转]Yahoo!网站性能最佳体验的34条黄金守则——内容 人生的时间管理法则 JavaScript 读取地址栏参数 无题 唐僧的家书 如何成为一个专家 [原创]JQuery实现表格的列列交换 - ghx88 - 博客园 中国的数学教育方式 别浪费了你的大内存[转] QQ空间免费养5级花和拥有人参果 把网速提高4倍的方法和动画教程 关于charset在blueidea的帖子[转] 林蛋大 多吃葡萄可以排毒[转] 使类支持排序
asp.net2 统一搜索引擎关键字编码[转]
ghx88 · 2007-12-25 · via 博客园 - ghx88

作者:Clear 日期:2007-04-04
引用自:http://www.cnrui.cn/blog/article.asp?id=183

      View二期开发正式启动,一开始就碰到了麻烦事,因为在统计模块中,需要得到来源搜索链接的关键字,所以一开始就用正则把关键字部分匹配出来,然后用自带的 Uri.UnescapeDataString() 将Urlcoding转换为文字。

        本来一切都很顺利,结果将百度,网易搜索加到规则里面,就开始报错了。我猜想可能是和编码有关系,因为Google一向都是UTF-8,国内的网站大多偏向使用GB2312,所以出现这个问题我还不是很担心。

        哪里知道,这个问题的严重性,让我差点对程序算法的研究失去信心。因为今天听到有个人说我胆子好大,居然敢把所有链接的事件给改掉了,万一还有相同事件,那么就会出严重的问题。我一向认为我还是个比较心细的人,在我做那件大胆的事情前,我是仔细地咨询过有没有相同事件存在,在得到肯定的答复后,我才开始做的。代码虽然不多,但是我敢说里面能考虑到的,不能考虑到的错误,我基本已经都做到。

        回到正题,在网上一搜索,发现asp.net这方面的资料真的是太少了,然后看了看ASP和PHP的,发现做法十分复杂,而且还容易出错,甚至还要建一个gb2312到utf-8的编码对照表。

        我坚信微软一定会给出一个完美的解决方案,于是开始查MSDN,从Encoding入手,发现存在转换编码的方法。但是问题又出现了,因为我得到的是URL形式的字符串,现在还不知道这个字符串是属于utf-8的,还是gb2312的,所以不能使用UnescapeDataString转换成文字后再进行转码,因为这样马上会报错。

        于是开始分析gb2312和utf-8的编码原理,发现他们在.net里是存在关联性的,一个是2位编码,一个是三位编码,于是我试者将gb2312的编码进行分解,将每2位作为2个16进制的byte类型放入一个byte数组里面,然后通过正常的转码方式转为utf-8的byte类型,然后放入char里面,最后转成正常文字。

结果马上就揭晓了,居然成功了,然后再接再厉,写了一个搜索引擎类型判断的方法,于是一切就这么给解决。

下面给出代码,希望可以帮到有用的朋友: