莫高軟體工作室 開發的開源免費 VCL 元件,專解決中文亂碼與郵件編碼難題。支援:
| 版本 | 日期 | 新增功能 |
|---|---|---|
| V1.0 Beta | 1999-12-05 | GB/Big5/HZ/QP 互轉 |
| V1.0 Release | 2000-04-30 | 新增 UUencode、XXencode、Base64 編解碼 |
gbbig.cppdclusr40.bpk 或新建 gb.bpkgb.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;
此元件以極簡介面解決「碼頁亂碼」與「郵件編碼」兩大經典痛點,適合早期中文軟體維護、郵件用戶端開發、檔案批次碼頁轉換等場景。現代專案建議改用 ICU、Windows MultiByteToWideChar 或標準庫 std::wstring_convert (C++11) 實現 Unicode 為核心的編碼處理。