青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Khan's Notebook GCC/GNU/Linux Delphi/Window Java/Anywhere

路漫漫,長(zhǎng)修遠(yuǎn),我們不能沒(méi)有錢
隨筆 - 173, 文章 - 0, 評(píng)論 - 257, 引用 - 0
數(shù)據(jù)加載中……

昨天開(kāi)始打算寫(xiě)cmpp3.0的網(wǎng)關(guān),于是拿了華為的demo反編譯了一下,發(fā)現(xiàn)n多漢字都編程了unicode編碼,于是自己寫(xiě)了一個(gè)unicode轉(zhuǎn)漢字的程序,share給大家

幾個(gè)轉(zhuǎn)碼的函數(shù) unicode string utf8 anscii 之間的轉(zhuǎn)換 delphi

/** 主程序,包含幾個(gè)轉(zhuǎn)碼的函數(shù)

*   作者:劉昆

*   最后修改日期:  2004-11-18 

*   以上代碼免費(fèi),若直接引用一下代碼請(qǐng)告知,并保留此注釋

*   作為一名程序員應(yīng)該有最基本的職業(yè)道德*/

unit MainForm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TFormMain = class(TForm)
    Panel1: TPanel;
    Memo1: TMemo;
    ComboBox1: TComboBox;
    Button1: TButton;
    Memo2: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    function StrToUTF8(str: WideString): string;
    function StrToASC(Str: string): string;
    function GB2Unicode(Str: WideString): string; overload;
    //function GB2Unicode(Str: string): string; overload;
    function U2GB(Str: string): string;
    function UTF8ToStr(const str: UTF8String): string;
    function HexToInt(const Str: string): integer;
    function HexIndex(const c: Char): Integer;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FormMain: TFormMain;

implementation

{$R *.dfm}

{ TFormMain }

function TFormMain.StrToASC(Str: string): string;
var
  TmpStr: string;
  TmpPchar: Pchar;
  i: integer;
begin
  result := '';
  TmpStr := '';
  TmpPchar := pchar(Str);
  for i := 0 to length(TmpPchar) - 1 do
    TmpStr := TmpStr + format('%2.2x', [ord(TmpPchar[i])]);

  result := TmpStr;
end;

function TFormMain.StrToUTF8(str: WideString): string;
var
  s: pchar;
  i: integer;
  tmp: string;
begin
  tmp := '';
  result := '';
  s := pchar(Utf8encode(str));
  for i := 0 to strlen(s) do begin
    tmp := tmp + format('%2.2x', [ord(s[i])]);
  end;
  result := tmp;
end;


function TFormMain.UTF8ToStr(const str: UTF8String): string;
var
  s: pchar;
  i: integer;
  tmp: string;
begin
  tmp := '';
  result := '';
  s := PChar(str);
  i := 0;
  while i < length(s) do begin
    tmp := tmp + chr(HexToInt(s[i] + s[i + 1]));
    inc(i, 2);
  end;
  result := Utf8Decode(tmp);
end;

function TFormMain.GB2Unicode(Str: WideString): string;
var
  i: Integer;
begin
  Result := '';
  for i := 1 to Length(Str) do
    Result := Result + Format('%4.4x', [ord(Str[i])]);
end;


procedure TFormMain.Button1Click(Sender: TObject);
begin
  case ComboBox1.ItemIndex of
    0: memo2.Lines.Add(GB2Unicode(memo1.Lines.Text));
    1: memo2.Lines.Add(StrToUTF8(memo1.Lines.Text));
    2: memo2.Lines.Add(UTF8ToStr(memo1.Lines.Text));
    3: memo2.Lines.Add(U2GB(StringReplace(memo1.Lines.Text, '\u', '', [rfReplaceAll])));
    4: memo2.Lines.Add(StrToASC(memo1.Lines.Text));
  end;
end;

function TFormMain.HexToInt(const Str: string): integer;
var p: pchar;

begin
  result := -1;
  if length(str) > 2 then exit;
  p := pchar(str);

  if (HexIndex(p[0]) <> -1) and (HexIndex(p[1]) <> -1) then
    result := HexIndex(p[0]) * $10 + HexIndex(p[1]);
end;

function TFormMain.HexIndex(const c: Char): Integer;
const Digits: array[0..15] of Char = ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F');
var i: integer;
begin
  result := -1;
  if (not (UpCase(c) in ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'])) then
    exit;

  for i := 0 to high(digits) do
    if Digits[i] = UpCase(c) then begin
      result := i;
      break;
    end;
end;


function TFormMain.U2GB(Str: string): string;
var s: pchar;
  i: integer;
  tmp: string;
begin
  tmp := '';
  result := '';
  s := PChar(str);
  i := 0;
  while i < length(s) do begin
    tmp := tmp + chr(HexToInt(s[i + 2] + s[i + 3])) + chr(HexToInt(s[i] + s[i + 1]));//unicode轉(zhuǎn)換時(shí),高低位互換
    inc(i, 4);
  end;
  result := widechartostring(pWideChar(tmp + #0#0#0#0));
end;

end.


posted on 2004-11-19 05:44 Khan 閱讀(1899) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Delphi

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美大片在线观看一区二区| 亚洲精品一区二区三区99| 午夜精品一区二区三区四区| 一区二区三区视频在线| 亚洲午夜羞羞片| 99精品国产热久久91蜜凸| 亚洲精品乱码久久久久久蜜桃麻豆 | 极品少妇一区二区三区| 国产一区二区三区成人欧美日韩在线观看| 国产精品一区二区男女羞羞无遮挡| 国产精品热久久久久夜色精品三区| 国产精品一区二区在线观看不卡 | 91久久精品一区二区别| 亚洲精品国产精品国产自| 亚洲视频一区二区免费在线观看| 亚洲欧美不卡| 久久中文字幕一区| 欧美激情综合| 亚洲一区激情| 牛人盗摄一区二区三区视频| 欧美网站在线| 亚洲国产女人aaa毛片在线| 亚洲视频在线观看一区| 久久久亚洲精品一区二区三区| 欧美成人r级一区二区三区| 亚洲免费成人| 欧美国产日韩xxxxx| 久久久www成人免费无遮挡大片| 久久综合中文字幕| 国产精品h在线观看| 一区免费观看| 亚洲性视频h| 欧美成人性网| 日韩亚洲欧美高清| 欧美一乱一性一交一视频| 欧美69视频| 亚洲欧美日韩精品一区二区| 欧美jizzhd精品欧美巨大免费| 国产欧美日韩综合| 亚洲视频视频在线| 欧美激情精品久久久六区热门| 亚洲女人天堂av| 欧美视频日韩视频| 亚洲国产精品高清久久久| 欧美制服丝袜第一页| 亚洲靠逼com| 欧美韩日视频| 亚洲国产欧美一区| 久久久久久久综合狠狠综合| 亚洲视频一区| 欧美日韩成人综合天天影院| 欧美精品成人91久久久久久久| 国产亚洲欧美日韩日本| 亚洲欧美国产日韩天堂区| 亚洲欧洲在线免费| 欧美sm重口味系列视频在线观看| 激情成人在线视频| 久久久精品国产免大香伊| 亚洲欧美在线网| 国产模特精品视频久久久久| 午夜精品久久久久久| 中日韩视频在线观看| 国产精品成人一区二区三区夜夜夜| 中国成人在线视频| 99天天综合性| 国产精品日本精品| 欧美一区二区三区精品| 午夜精品婷婷| 一区二区在线不卡| 欧美激情一区二区三区不卡| 欧美高清一区| 正在播放亚洲| 亚洲在线1234| 狠狠网亚洲精品| 欧美激情第六页| 欧美日韩亚洲网| 欧美伊人久久| 久久男人av资源网站| 亚洲日本中文字幕| 日韩视频在线观看免费| 国产精品激情| 久久综合中文字幕| 欧美成人一区二区三区| 中国女人久久久| 亚洲欧美一区在线| 亚洲深夜影院| 狠狠色狠狠色综合人人| 亚洲综合成人婷婷小说| 亚洲一级二级在线| 影音先锋日韩精品| 亚洲日本aⅴ片在线观看香蕉| 欧美午夜影院| 欧美国产日韩一区二区三区| 欧美三级不卡| 久久婷婷蜜乳一本欲蜜臀| 欧美88av| 欧美专区日韩视频| 欧美激情第10页| 欧美中文字幕视频| 欧美人与性动交α欧美精品济南到| 欧美亚洲综合在线| 久久久免费精品视频| 亚洲午夜精品在线| 久久夜色精品亚洲噜噜国产mv| 亚洲一区二区三区视频播放| 欧美综合国产| 亚洲欧美国产三级| 欧美成人精品一区二区| 久久成人一区二区| 欧美日韩国产美女| 欧美成人综合一区| 国产亚洲精品久| 一区二区欧美视频| 亚洲啪啪91| 久久久夜夜夜| 久久久久国产精品一区| 国产精品久久久久久久久久直播 | 欧美精品在线网站| 久久午夜精品| 国产精品自拍三区| 亚洲国产三级网| 亚洲国产成人高清精品| 午夜精品久久99蜜桃的功能介绍| 99国产麻豆精品| 欧美大片在线观看一区| 女人天堂亚洲aⅴ在线观看| 国产日韩欧美一区二区| 一区二区三区精品| 亚洲视频国产视频| 欧美日韩福利在线观看| 亚洲国产日本| 亚洲精品一区二区网址| 久久这里只有精品视频首页| 玖玖在线精品| 永久域名在线精品| 久久裸体视频| 美女国内精品自产拍在线播放| 国产亚洲成av人在线观看导航| 亚洲欧美日韩国产一区二区| 欧美一区二区性| 国产综合香蕉五月婷在线| 亚洲欧美国内爽妇网| 欧美在线观看网站| 国产一区二区三区无遮挡| 欧美诱惑福利视频| 葵司免费一区二区三区四区五区| 黄网动漫久久久| 久久久在线视频| 欧美激情亚洲自拍| 久久这里只有| 日韩视频二区| 一区二区三区无毛| 久久久久.com| 亚洲国产成人在线视频| 日韩视频免费在线| 欧美午夜精品久久久| 国产精品99久久久久久久vr| 亚洲永久视频| 国内精品久久久久久 | 一区二区三区三区在线| 欧美有码在线观看视频| 好看的日韩视频| 美女视频一区免费观看| 亚洲精品日韩激情在线电影| 在线一区二区三区四区五区| 国产欧美日韩视频| 久久午夜精品| 一本色道久久88综合亚洲精品ⅰ | 日韩五码在线| 国产日本精品| 欧美激情aⅴ一区二区三区| 亚洲视屏一区| 亚洲成色999久久网站| 亚洲午夜一区二区| 狠狠色丁香久久婷婷综合丁香| 欧美激情四色 | 国产日本欧美一区二区三区在线| 久久精品国产99精品国产亚洲性色| 欧美电影在线| 欧美亚洲视频一区二区| 亚洲日本中文字幕区| 国产欧美成人| 欧美日韩美女在线| 久久精品网址| 亚洲视频免费在线| 欧美成人性网| 欧美一区二区在线观看| 亚洲视频在线观看| 亚洲国产日韩在线一区模特| 国产精品久久久久久久久搜平片| 麻豆成人综合网| 久久久久高清| 亚洲尤物在线| 一本色道**综合亚洲精品蜜桃冫 | 午夜精品区一区二区三| 亚洲精品综合精品自拍| 激情成人av| 精品999网站| 好吊成人免视频| 亚洲成人中文|