關於固定字串長度RAW Data的轉換,當中英文混合該怎麼處理 ?
假設有一個資料是從非PC主機轉下來的固定長度資料,假設為3個欄位,每個欄位都是4Bytes (也就是中文只有兩個字,英數卻會有四個字) 如何能順利切割。
Step1 :
先將字串使用 950 (Big-5)編碼轉成Byte陣列
System.Text.Encoding myEncoding = System.Text.Encoding.GetEncoding(950);
Byte[] myBytes;
string mystring="ABCD中文1234";
myBytes = myEncoding.GetBytes(mystring);
Stpe2:取出正確長度的Byte陣列再轉回string
int i;
int j;
Byte[] myOutputBytes = new Byte [4];
String[] myOutputstring= new String [3];
for (i=0;i<=2;i++)
{
for (j=0;j<=3;j++)
{
myOutputBytes[j]= myBytes[i*4+j];
}
myOutputstring[i]= myEncoding.GetString(myOutputBytes);
}