isapi filter 和中文处理(100分)

  • 主题发起人 主题发起人 Wilbur
  • 开始时间 开始时间
W

Wilbur

Unregistered / Unconfirmed
GUEST, unregistred user!
根据 http/1.1 规定, 凡是特殊字符(例如中文, ~, %等)都使用
%HEX%HEX
的格式表示. 如"中国"被发送为 %D6%D0%B9%FA 的形式.

但是 BIG5 码又比较复杂. 如 BIG5 的 "三" 就变成了 %A4T 的形式, 实际上他是先转化为 %A4%54, 然后 %54 就是字符 T,并非特殊符号, 所以又回复显示.

我想问, 我该如何实现 BIG5->GB 的转换呢?
请大家提供一点思路.

(注意, 可能是中英文混合, 如 %D6%D0windows%B9%FA)

我的办法是先预处理字符串, 正则化为 %A4%54 形式, 然后进行转换. 问题是如果转化后的字符串长度和转换前的不等的话, 需要调用 AllocMem().

请问有其他方法吗?
 
我有一个函数,可以转换Gb-Big
可以妹给你。。。。
 
关键问题不是 gb<->big5 之间转换, 而是转换后字符串的长度发生了变化.

不过现在已经解决.
 
多人接受答案了。
 
后退
顶部