间繁体转换,有PHP的算法(如下),原理是在一个映射表中通过对应的askii码进行转换,单字节的字符直接输出,双字节的字符查找映射表转换输出。 但asp中不知道怎么读二进制的映射表文件gb.map,好像只有读文本的server.createobject("scripting.FileSystemObject"),试了不行。请问asp中有没有读二进制文件的方法?
后来又用delphi写了一个间繁体转换的ActiveX控健,但其对象的函数只有一种返回HRESULT,即只能用response.write直接返回给浏览器,不能返回给asp。 请问怎么返回给asp?
请高手回答,急着交差。谢谢!
/* 繁->间 字符
function cbig5_gb($str,$fd) {
$c=ord(substr($str,0,1));
$x=ord(substr($str,1,1));
$address=(($c-160)*510)+($x-1)*2;
fseek($fd, $address);
$hi=fgetc($fd);
$lo=fgetc($fd);
return "$hi$lo";
}
function cgb_big5($str,$fd) {
$c=ord(substr($str,0,1));
$x=ord(substr($str,1,1));
$address=(($c-160)*510)+($x-1)*2;
fseek($fd, $address);
$hi=fgetc($fd);
$lo=fgetc($fd);
return "$hi$lo";
}
//-----------------------------------------------------------------
//字符串
function Big5_Gb($str) {
$fd = fopen ($this->gb_map, "r");
$str=str_replace("charset=big5","charset=gb2312", $str);
$outstr="";
for($i=0;$i
1<strlen($str);$i++) $ch="ord(substr($str,$i,1));" if($ch="" {=""> $this->dep_char) {
2$outstr.=$this->cbig5_gb(substr($str,$i,2),$fd);
3$i++;
4
5} else {
6$outstr.=substr($str,$i,1);
7}
8}
9fclose ($fd);
10return $outstr;
11}
12//-----------------------------------------------------------------
13function Gb_Big5($str) {
14$fd = fopen ($this->big5_map, "r");
15$str=str_replace("charset=gb2312","charset=big5", $str);
16$outstr="";
17for($i=0;$i<strlen($str);$i++) $ch="ord(substr($str,$i,1));" if($ch="" {=""> $this->dep_char) {
18$outstr.=$this->cgb_big5(substr($str,$i,2),$fd);
19$i++;
20
21} else {
22$outstr.=substr($str,$i,1);
23}
24}
25fclose ($fd);
26return $outstr;
27
28}
29*/
30\---------------------------------------------------------------
31
32http://expert.csdn.net/Expert/topic/1308/1308633.xml?temp=1.459903E-02</strlen($str);$i++)></strlen($str);$i++)>