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

网站方案案例怎么做seo综合查询平台官网

网站方案案例怎么做,seo综合查询平台官网,海南直销网站建设,做网站价格 网络推广托管服务CVCode使用码表对照的方式实现简繁转换,在Unicode盛行的今天仍然是有其现实意义的。 较常见的应用是,企业内有台籍员工,也有大陆员工,而且简体和繁体的OS都有使用,这样在MIS系统中如何保证GB2312、GBK、BIG5都能够正常…

CVCode使用码表对照的方式实现简繁转换,在Unicode盛行的今天仍然是有其现实意义的。
  较常见的应用是,企业内有台籍员工,也有大陆员工,而且简体和繁体的OS都有使用,这样在MIS系统中如何保证GB2312、GBK、BIG5都能够正常
  CVCode使用码表对照的方式实现简繁转换,在Unicode盛行的今天仍然是有其现实意义的。
  较常见的应用是,企业内有台籍员工,也有大陆员工,而且简体和繁体的OS都有使用,这样在MIS系统中如何保证GB2312、GBK、BIG5都能够正常使用,而且BIG5输入的资料在GBK的系统上要显示正常,并且能与GB2312中输入的字符相匹配(查询中,按名称查询是最常见的)。
  针对这样的应用,CVCode就提供码表对照的方式,理论上讲,只要定义好码表,就可以真正的让BIG5与GB2312“互通”


  但是在CVCode中,只是GB2312与BIG5转换,在GBK输入法流行的今天,GB2312显然不够了。而且BIG5字符集要远远大于GB2312,所以扩展CVCode使其具有GBK与BIG5转换功能势在必行。

  GBK的字符范围如下:


GBK字符集范围
分区                      高位     低位<
----------------------------------------------
●GBK/1:GB2312非汉字符号: A1~A9 || A1~FE
●GBK/2:GB2312汉字      : B0~F7 || A1~FE
●GBK/3:扩充汉字        : 81~A0 || 40~FE
●GBK/4:扩充汉字        : AA~FE || 40~A0
●GBK/5:扩充非汉字      : A8~A9 || 40~A0
其中1和2就是对应的GB2312字符集。


  如何让CVcode支持GBK,有3个问题:

    1.判断是否GB码
    2.计算字符顺序
    3.与原有码表兼容


第一个问题就要修改IsGB如下:


function isGB(value: string): Boolean;
Var
  mHigh, mLow : integer;
begin
  if (length(value)>=2) then
  begin
    mHigh := ord(value[1]);
    mLow := ord(value[2]);
    Result := False;
    //●GBK/1:GB2312非汉字符号: A1~A9 || A1~FE
    if (mHigh in [$A1..$A9]) and (mLow in [$A1..$FE]) then Result := True;
    //●GBK/2:GB2312汉字      : B0~F7 || A1~FE
    if (mHigh in [$B0..$F7]) and (mLow in [$A1..$FE]) then Result := True;
    //●GBK/3:扩充汉字        : 81~A0 || 40~FE
    if (mHigh in [$81..$A0]) and (mLow in [$40..$FE]) then Result := True;
    //●GBK/4:扩充汉字        : AA~FE || 40~A0
    if (mHigh in [$AA..$FE]) and (mLow in [$40..$A0]) then Result := True;
    //●GBK/5:扩充非汉字      : A8~A9 || 40~A0
    if (mHigh in [$A8..$A9]) and (mLow in [$40..$A0]) then Result := True;
  end
  else
    Result := true;
{  //这是原来的,只以GB2312为判断依据
  if (length(value)>=2) then
  begin
    if (value[1] <= #161) and (value[1] >= #247) then
      Result := false
    else
      if (value[2] <= #161) and (value[2] >= #254) then
        Result := false
      else
        Result := true
  end
  else
    Result := true;
    }
end;

第二个要计算顺序和与原有码表兼容---其实兼容主要也在顺序:

function GBOffset(value: string): integer;
Var
  mHigh, mLow : integer;
  mGBK1, mGBK2, mGBK3, mGBK4, mGBK5: integer;
begin
{ //这是原来的---
  if length(value) >= 2 then
    Result := (Ord(value[1]) - $A1) * $5E + (Ord(value[2]) - $A1)
  else
    Result := -1;
}
  Result := -1;
  if length(value) >= 2 then
  begin
    mHigh := ord(value[1]);
    mLow := ord(value[2]);
    //每个区都有多少个汉字?
    //mGBK1 := ($A9 - $A1 + 1) * ($FE - $A1 + 1);  // = 846 = $34E
    //mGBK2 := ($F7 - $B0 + 1) * ($FE - $A1 + 1);  // = 6768 = $1A70
    //mGBK3 := ($A0 - $81 + 1) * ($FE - $40 + 1);
    //mGBK4 := ($FE - $AA + 1) * ($A0 - $40 + 1);
    //mGBK5 := ($A9 - $A8 + 1) * ($A0 - $40 + 1);
    mGBK1 := $34E;  //846
    mGBK1 := mGBK1 + ($B0 - $A9-1) * ($FE - $A1 + 1);   //这个是为了和以前的码表兼容
    mGBK2 := $1A70;  //6768
    mGBK3 := $17E0;  //6112
    mGBK4 := $2035;  //8245
    mGBK5 := $C2;  //194
    //●GBK/1:GB2312非汉字符号: A1~A9 || A1~FE
    if (mHigh in [$A1..$A9]) and (mLow in [$A1..$FE]) then
      Result := (mHigh - $A1) * ($FE - $A1 + 1) + (mLow - $A1)
    //●GBK/2:GB2312汉字      : B0~F7 || A1~FE
    else if (mHigh in [$B0..$F7]) and (mLow in [$A1..$FE]) then
      Result := mGBK1 +
                (mHigh - $B0) * ($FE - $A1 + 1) + (mLow - $A1)
    //●GBK/3:扩充汉字        : 81~A0 || 40~FE
    else if (mHigh in [$81..$A0]) and (mLow in [$40..$FE]) then
      Result := mGBK1 + mGBK2 +
                (mHigh - $81) * ($FE - $40 + 1) + (mLow - $40)
    //●GBK/4:扩充汉字        : AA~FE || 40~A0
    else if (mHigh in [$AA..$FE]) and (mLow in [$40..$A0]) then
      Result := mGBK1 + mGBK2 + mGBK3 +
                (mHigh - $AA) * ($A0 - $40 + 1) + (mLow - $40)
    //●GBK/5:扩充非汉字      : A8~A9 || 40~A0
    else if (mHigh in [$A8..$A9]) and (mLow in [$40..$A0]) then
      Result := mGBK1 + mGBK2 + mGBK3 + mGBK4 +
                (mHigh - $A8) * ($A0 - $40 + 1) + (mLow - $40);
  end
end;

转载于:https://www.cnblogs.com/MaxWoods/archive/2010/11/08/1871944.html

http://www.lbrq.cn/news/2778877.html

相关文章:

  • 招工网站58同城朔州seo
  • 做网站什么科目宁波最好的seo外包
  • 好的网站建设天津seo管理平台
  • 手机app网站模板下载windows优化大师和鲁大师
  • 怎样能注册自己的网站网页制作工具有哪些
  • 北京网站建设怎么样天怎样创建一个网站
  • 二级域名指向 独立网站做网站推广一般多少钱
  • 如何建做校园购物网站肇庆网站建设制作
  • 做网站需要阿里云吗太原百度seo排名软件
  • 结合七牛云做视频网站福州关键词排名优化
  • 哪个网站专做民宿软件开发
  • 做网站的一些话术chatgpt 链接
  • 建设部电教中心网站seo自学网免费
  • wordpress内置播放器百度搜索seo
  • 中国进出口贸易官网网站建设优化哪家公司好
  • 营销网站建站公司转让如何进行app推广
  • 做教案找资料有哪些网站站长之家关键词查询
  • wordpress会员制网站自己开一个培训机构流程
  • 网站开发主管岗位职责说明书福州网站优化公司
  • 国家查企业信息查询平台移动网站优化排名
  • 做毕设的网站如何在外贸平台推广
  • 做网站的厉害还是黑网站的厉害拼多多代运营一般多少钱
  • 莞城网站推广自助建站系统代理
  • 河北建设集团有限公司 信息化网站网络营销软文范文
  • 蓝鸟E4A做网站程序网页制作官方网站
  • 佛山java web网站开发营销型网站建设专家
  • 百浪科技做网站怎么样html网页制作软件有哪些
  • 企业网站的建立联系方式东莞有哪些做推广的网站
  • 成品网站价格表b2b平台有哪些平台
  • 哈尔滨网站建设模板策划电商运营培训课程
  • RH134 运行容器知识点
  • GaussDB 八种常规锁介绍
  • Java面试宝典:Redis 入门与应用
  • vue3入门-v-model、ref和reactive讲解
  • LLM - MCP传输协议解读:从SSE的单向奔赴到Streamable HTTP的双向融合
  • axure chrome 浏览器插件的使用