AnsiString類型定義的時候可以直接指定字碼頁,比如950繁體字,936日文

來源:互聯網
上載者:User

標籤:

procedure TForm3.FormCreate(Sender: TObject);type  AnsiStringForPage = type AnsiString(950);//字碼頁var  AnsiStr: AnsiStringForPage;  i: Integer;  function GetAnsiCharCode(Value: AnsiChar): string;  begin    Result := IntToHex(ord(Value), 2);  end;begin  AnsiStr := ‘abcABC中國人‘;//ansi相容abcAbc,所以這些字母對應的值與字碼頁無關,而中國人,在950中人存在,國不存,所以長度為11,936時間長度度12,932也是長度11  for i := 0 to Length(AnsiStr) do    Memo1.Lines.Add(IntToHex(ord(AnsiStr[i]), 2));

 

以上內容只做學習標誌,請勿查看

 

字串賦值的時候會調用以下代碼System.pas中

procedure _LStrLAsg(var Dest: _AnsiStr; const Source: _AnsiStr);//字串複製{$IFDEF PUREPASCAL}var  P: Pointer;begin  P := Pointer(Source);  if P <> nil then    _LStrAddRef(P);  P := Pointer(Dest);  Pointer(Dest) := Pointer(Source);  _LStrClr(P);//清Null 字元串end;{$ELSE}asm        { ->    EAX     pointer to dest }        {       EDX     source          }        TEST    EDX,EDX        JE      @@sourceDone

 

AnsiString類型定義的時候可以直接指定字碼頁,比如950繁體字,936日文

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.