2015年4月12日 星期日

[C#]解決以byte長度做為欄位區分,使用substring異常問題

之前曾經遇到一個檔案是以特定長度區分欄位資料,例如 1~2 byte為id,第3~10 byte為姓名這樣。

但這樣如果遇到中、英文都有的內容直接用內部的substring會出現問題,

需要自己寫一下SubString函式,用一個byte一個byte去切。


   public string SubString(string toSub, int startIndex, int length)  
     {  
       byte[] subbyte = System.Text.Encoding.Default.GetBytes(toSub);  
       string Sub = System.Text.Encoding.Default.GetString(subbyte, startIndex, length); 
       return Sub;  
     }  

沒有留言:

張貼留言