首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> VC 教學

C++Builder 編碼解碼元件:GB/Big5/HZ/UUencode/Base64/QP 全格式支援

     編輯:VC 教學

元件簡介

莫高軟體工作室 開發的開源免費 VCL 元件,專解決中文亂碼與郵件編碼難題。支援:

  • 中文碼頁互轉:GB2312 ⇄ Big5 ⇄ HZ ⇄ UTF-8
  • 郵件編碼/解碼:UUencode、XXencode、Base64、Quoted-Printable (QP)
  • 檔案/字串雙模式:記憶體字串與磁碟檔案直接轉換

版本歷程

版本日期新增功能
V1.0 Beta1999-12-05GB/Big5/HZ/QP 互轉
V1.0 Release2000-04-30新增 UUencode、XXencode、Base64 編解碼

安裝步驟

  1. IDE 選單 Component → Install Component
  2. Unit file name 指向 gbbig.cpp
  3. Package file name 選既有 dclusr40.bpk 或新建 gb.bpk
  4. 編譯 → Install,元件面板出現「莫高軟體」頁籤
  5. 若未出現,Component → Install Packages → Add 選擇編譯產出的 gb.bpl

專案引用三檔案

將以下檔案複製至專案目錄:

  • gbbig.h —— 類別宣告
  • gbbig.res —— 資源(圖示等)
  • gbbig.dcr —— 元件調色盤圖示

核心類別介面

class TGbBig {
public:
    // 中文碼頁轉換
    AnsiString GbToBig(const AnsiString& src);
    AnsiString BigToGb(const AnsiString& src);
    AnsiString GbToHz(const AnsiString& src);
    AnsiString HzToGb(const AnsiString& src);
    AnsiString Utf8ToGb(const AnsiString& src);
    AnsiString GbToUtf8(const AnsiString& src);

    // 郵件編碼
    AnsiString EncodeUU(const AnsiString& src);
    AnsiString DecodeUU(const AnsiString& src);
    AnsiString EncodeXX(const AnsiString& src);
    AnsiString DecodeXX(const AnsiString& src);
    AnsiString EncodeBase64(const AnsiString& src);
    AnsiString DecodeBase64(const AnsiString& src);
    AnsiString EncodeQP(const AnsiString& src);
    AnsiString DecodeQP(const AnsiString& src);

    // 檔案級轉換
    bool ConvertFile(const AnsiString& srcFile, const AnsiString& dstFile,
                     int srcCodePage, int dstCodePage);
};

使用範例

TGbBig* codec = new TGbBig(this);
// 字串轉換
AnsiString big5 = codec->GbToBig("中文測試");
// Base64 編碼郵件附件
AnsiString b64 = codec->EncodeBase64(FileToStr("photo.jpg"));
// 檔案碼頁轉換
codec->ConvertFile("gb.txt", "big5.txt", CP_GB2312, CP_BIG5);
delete codec;

授權與支援

  • 開源免費,版權歸周鵬飛/莫高軟體工作室
  • 技術支援:訪問 Homepage 加入郵件列表或直接來信
  • License.txt 詳見發布包

適用環境

  • 開發:C++Builder 4.0
  • 執行:Win9x/NT/2000/XP
  • BCB 3.0 未測試,歡迎回報
  • Delphi 版、DLL 版、ActiveX 版規劃中

總結

此元件以極簡介面解決「碼頁亂碼」與「郵件編碼」兩大經典痛點,適合早期中文軟體維護、郵件用戶端開發、檔案批次碼頁轉換等場景。現代專案建議改用 ICU、Windows MultiByteToWideChar 或標準庫 std::wstring_convert (C++11) 實現 Unicode 為核心的編碼處理。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved