程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi把流中的字符串轉換為 UTF 格式

Delphi把流中的字符串轉換為 UTF 格式

編輯:Delphi

本例效果圖:

Delphi把流中的字符串轉換為 UTF 格式

  代碼文件:

unit Unit1; 

interface 

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

type 
  TForm1 = class(TForm) 
    Button1: TButton; 
    Memo1: TMemo; 
    procedure Button1Click(Sender: TObject); 
    procedure FormCreate(Sender: TObject); 
  end; 

var 
  Form1: TForm1; 

implementation 

{$R *.dfm} 

procedure TForm1.Button1Click(Sender: TObject); 
var 
  stream1,stream2: TStringStream; 
  b: Byte; 
  bs: string; 
begin 
  {建立第一個流, 使用默認的雙字節編碼; 流中的數據是 Memo 中的字符串} 
  stream1 := TStringStream.Create(Memo1.Text, 54936); 

  {把第一個流的十六進制編碼顯示在 Memo 中} 
  bs := ’’; 
  for b in stream1.Bytes do bs := Format(bs + ’%2x ’, [b]); 
  Memo1.Lines.Add(bs); 

  {建立第二個流, 用 UTF8 編碼; 還是基於第一個流中的字符串} 
  stream2 := TStringStream.Create(stream1.DataString, TEncoding.UTF8); 

  {把第二個流的十六進制編碼顯示在 Memo 中} 
  bs := ’’; 
  for b in stream2.Bytes do bs := Format(bs + ’%2x ’, [b]); 
  Memo1.Lines.Add(bs); 

  stream1.Free; 
  stream2.Free; 
end; 

procedure TForm1.FormCreate(Sender: TObject); 
begin 
  Memo1.Align := alTop; 
  Memo1.ScrollBars := ssBoth; 
  Memo1.Text := ’萬一的 Delphi 博客’; 
end; 

end.

  窗體文件:

object Form1: TForm1 
  Left = 0 
  Top = 0 
  Caption = ’Form1’ 
  ClIEntHeight = 146 
  ClIEntWidth = 406 
  Color = clBtnFace 
  Font.Charset = DEFAULT_CHARSET 
  Font.Color = clWindowText 
  Font.Height = -11 
  Font.Name = ’Tahoma’ 
  Font.Style = [] 
  OldCreateOrder = False 
  OnCreate = FormCreate 
  PixelsPerInch = 96 
  TextHeight = 13 
  object Button1: TButton 
    Left = 323 
    Top = 113 
    Width = 75 
    Height = 25 
    Caption = ’Button1’ 
    TabOrder = 0 
    OnClick = Button1Click 
  end 
  object Memo1: TMemo 
    Left = 8 
    Top = 8 
    Width = 313 
    Height = 105 
    Lines.Strings = ( 
      ’Memo1’) 
    TabOrder = 1 
  end 
end


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved