需求

老式需求

3 個欄位的資訊, 希望擷取出中間的 16 bytes 的欄位

20040609台北市第81分公司0800-000123
20040609彰化縣第1分公司 0800-000123

通常會困擾於 編譯器對於資料型態長度的判定、編碼。 (其他程式語言也會遇到類似狀況)

在 C# 中則會遇到 string Length 變動的問題無法如預期做切割, 因此運用「==Big5編碼==」方式在 中文佔用 2 bytes、英數佔用 1 bytes 的特性, 再轉為 sub string。

System.Text.Encoding encoding = System.Text.Encoding.GetEncoding(950);

string tempstr = "";

byte[] strBytes = encoding.GetBytes(str);

tempstr = encoding.GetString(strBytes, start, lengths);