当前位置: 首页 > news >正文

营销型网站建设与推广/国际新闻消息

营销型网站建设与推广,国际新闻消息,把货卖到国外有哪些平台,自己怎么做电影网站AS/400采用EBCDIC编码保存在QSYS.LIB中的所有中文字符,而在pc端winows 95,windows NT采用GBK内码保 存中文字符,两者之间在进行中文数据传输的时候,会遇到EBCDIC和GBK的相互转换。所以,掌握EBCDIC和GBK 的转换码表对于程序员非常重…

AS/400采用EBCDIC编码保存在QSYS.LIB中的所有中文字符,而在pc端winows 95,

windows NT采用GBK内码保 存中文字符,两者之间在进行中文数据传输的时候,会遇到EBCDIC和GBK的相互转换。所以,掌握EBCDIC和GBK 的转换码表对于程序员非常重要。

1 收集GBK字符文件

首先必须根据GBK的编码原则得到GBK的汉字库。GBK的编码区间为0X8140到0XFEFE。整个码表分为5个区间,称为GBK1(A1A1-A9FE)、GBK2(B0A1-F7EE)、GBK3(8140-A0FE)、GBK4(AA40-FEA0)、GBK5(A840-A9A0).其中GBK1包括符号717个,GBK2包括GB2312汉字6763个,GBK3包括GB13000.1中的汉字6080个,GBK4包括增补的汉字8160个,GBK5包括扩充汉字符号166个。

程序1:

/* file1.c */

#includevoid main(void)

{

FILE *fp;

-char ch[4],file[10],enter[2],hi,lo;

long int i;

enter[0]=0x0d;

enter[1]=0x0a;

printf("please input the file name:\n");

scanf("%s",file);

if((fp=fopen(file,"wb"))==NULL)

{

------printf("cannot open %s\n",file);

------exit(0);

}

hi=0xa7;

lo=0x40;

for(i=0;i<2*191;i++)

{

-----ch[0]=0x22;

-----if(i%191==0)

----------hi=hi+1;

-----ch[1]=hi;

-----ch[2]=(lo+i%191);

-----ch[3]=0x22;

-----fwrite(ch,sizeof(char),4,fp);

-----fwrite(enter,sizeof(char),2,fp);

}

}

程序说明:

(1).OX22是'"'(双引号)的16进制代码,0X0D 0X0A是换行符号的16进制代码,在每一个字符的两旁增加双引号和缓行符号是为了满足CPYFRMIMPF对Import file的格式要求而特别增加的。

(2).结果文件假设命名为GBK.TXT,文件样本见附件。

程序2:得到没有" "和0X0D 0X0A的汉字字库文件

#includevoid main(void)

{

FILE *fp;

-char ch[2],file[10],hi,lo;

long int i;

printf("please input the file name:\n");

scanf("%s",file);

if((fp=fopen(file,"wb"))==NULL)

{

------printf("cannot open %s\n",file);

------exit(0);

}

hi=0x80;

lo=0x40;

for(i=0;i<126*191;i++)

{

-------if(i%191==0)

-------------hi=hi+1;

-------ch[0]=hi;

-------ch[1]=(lo+i%191);

-------fwrite(ch,sizeof(char),2,fp);

}

fclose(fp);

}

[注]:

假设结果文件命名为GBK_01.TXT

2.利用FTP把GBK.TXT上传到AS400的IFS的目录下,例如/home目录,注意ftp在传输双字节的时候需要制定AS400端CCSID的值。如果只传输GB2312汉字,指定CCSID=1381;如果传输GBK汉字,指定CCSID=1386.

[注]:

如果传输正确,使用DSPF或EDTF可以看到正确的中文字符。

3.利用STRSQL交互式SQL生成接受GBK汉字的数据库文件

------CREATE TABLE GBK(COL CHAR(4) CCSID 1388)

4.利用CPYFRMIMPF把流文件数据导入GBK数据库文件

-----CPYFRMIMPF FROMSTMF('/home/gbk.txt')

---------------TOFILE(GBK/QGPL)

---------------RCDDLM(*LF)

5. 利用FTP的BIN方式,把GBK的文件下传到PC的得到GBK.MBR,从PC端用NOTEPAD观察可以看到文件有许多乱码,这是因为GBK.MBR使用的是EBCDIC,许多编码在PC上无法识别,而且可以发现每个汉字EBCDIC代码的两旁有0E..0F的标识符,这样观察起来很不方便,使用下面的程序把0E..0F剔除。

程序3: 剔除.mbr中的0E..0F字符

#includevoid main(void)

{

-----FILE *fp1,*fp2;

-----char f1[10],f2[10],ch[4];

-----scanf("%s",f1);

-----scanf("%s",f2);

-----if((fp1=fopen(f1,"rb"))==NULL)

-----{

------------printf("error open input file %s\n",f1);

------------exit(0);

-----}

-----if((fp2=fopen(f2,"wb"))==NULL)

-----{

------------printf("error open output file %s\n",f2);

------------exit(0);

-----}

-----while(!feof(fp1))

-----{

------------fread(ch,4,1,fp1);

------------if((ch[0]==0x0E)&&(ch[3]==0x0F))

------------{

-------------------fwrite(&ch[1],1,1,fp2);

-------------------fwrite(&ch[2],1,1,fp2);

------------}

-----}

-----fclose(fp1);

-----fclose(fp2);

}

[注]:

假设得到的没有0E..0F标识的文件名称为GBK_01.MBR

6.利用GBK_O1.TXT,GBK_01.MBR得到EBCDICGBK的转换码表文件

程序: 得到最终转换文件

#includevoid main(void)

{

------int i;

------FILE *in,*out,*gb;

------unsigned char ch[2],ch2[2];

------char str[40],str2[40];

------char enter[2],space=' ';

------enter[0]=0x0d;

------enter[1]=0x0a;

------if((in=fopen("gbk_01.mbr","rb"))==NULL)

------{

------------printf("cannot open file\n");

------------exit(0);

------}

------if((out=fopen("gbk_cvt.txt","wb"))==NULL)

------{

------------printf("cannot open outfile\n");

------------exit(0);

------}

------if((gb=fopen("gbk_01.txt","rb"))==NULL)

------{

------------printf("cannot open hzgb.txt\n");

------------exit(0);

------}

------while(!feof(in))

------{

-------------fread(ch,2,1,in);

-------------fread(ch2,2,1,gb);

-------------sprintf(str,"%02x%02x",ch[0],ch[1]);

-------------sprintf(str2,"%02x%02x",ch2[0],ch2[1]);

-------------fwrite(ch2,2,1,out);

-------------fwrite(&space,1,1,out);

-------------fwrite(str,5,1,out);

-------------fwrite(str2,5,1,out);

-------------fwrite(enter,2,1,out);

------}

------fclose(in);

------fclose(out);

------fclose(gb);

}

[注]:

假设最终得到的转换文件为GBK_CVT.TXT

http://www.jmfq.cn/news/5127301.html

相关文章:

  • 学校网站建设目标/网站制作免费
  • 有专门做检验的视频网站吗/烟台seo快速排名
  • 网站为什么不被收录/搜索引擎的设计与实现
  • 网站图标怎么上传/百度问一问在线咨询客服
  • 4昌平区网站建设/苏州seo招聘
  • 怎么才算完成一个网站/搭建网站多少钱
  • 淘宝上做网站的信得过吗/软文交易平台
  • 如何创建网址快捷方式/上海优化seo
  • 京东商城官方网站/谷歌搜索排名规则
  • 小网站开发用哪些技术/种子在线资源搜索神器
  • mac wordpress教程 pdf/百度搜索怎么优化
  • 杭州e时代互联网站建设/商业计划书
  • 网络营销专业属于什么类别/搜索引擎优化涉及的内容
  • 云南 网站建设/互联网营销顾问是做什么的
  • web前端开发难不难学/seo优化包括
  • 做网站怎么找优质客户/广东疫情最新资讯
  • 有做足球裁判跑动数据的网站吗/推广技术
  • 怎么找网站做公示/无锡seo公司找哪家好
  • 网站建设推广新闻/网站推广费用
  • 知名企业网站/网站维护推广的方案
  • 国外优秀门户网站/培训学校加盟
  • 高校邦营销型网站建设答案/百度指数网页版
  • 福田区建设局网站/网店代运营的套路
  • 河南企业网站推广/整站关键词排名优化
  • wordpress适合做什么网站/友情链接的网站有哪些
  • 图片制作在线网页/seo推广优化平台
  • 哪个网站可以做ppt/湖南省人民政府
  • 社区平安建设基层网站/市场营销师报名官网
  • 个人网站系统/seo费用
  • 免费在线建站/山东今日头条新闻