Language/C#
[C#] byte 형 변환
YawnsDuzin
2020. 3. 23. 18:17
반응형
문자열을 byte배열로 변환
string sTemp = "가나다라마바사";
byte[] bTemps = Encoding.Default.GetBytes(sTemp);
byte 배열을 문자열로 변환
string sTemp = "가나다라마바사";
byte[] bTemp s= Encoding.Default.GetBytes(sTemp);
string sTemp2 = Encoding.Default.GetString(bTemp);
숫자형을 byte배열로 변환
int iTemp = 12345;
byte[] bTemp = BitConverter.GetBytes(iTemp);
2byte 2개를 4byte로 만들기 (Int16 *2 => Int32)
// 자동화 분야 통신에서 2byte받아서, 더 큰 수를 만들어야 할때 사용하는 경우가 있다.
byte[] bTemps = new byte[4];
// 2byte를 담을 변수 (정수)
Int16 iTemp1, iTemp2;
// 4byte로 변환된 값을 담을 변수 (정수)
Int32 iTemp3;
// 2byte를 담을 변수 (byte[])
byte[] bTemp1, bTemp2;
iTemp1 = 12345;
iTemp2 = 32765;
bTemp1 = BitConverter.GetBytes(iTemp1);
bTemp2 = BitConverter.GetBytes(iTemp2);
System.Buffer.BlockCopy(bTemp1, 0, bTemps, 0, bTemp1.Length);
System.Buffer.BlockCopy(bTemp2, 0, bTemps, 2, bTemp2.Length);
iTemp3 = BitConverter.ToInt32(bTemps, 0);
4byte를 2byte 2개로 만들기 (Int32 => Int16 * 2)
byte[] bTemps;
Int32 iTemp; // -2147483648 ~ 2147483647
Int16 iTemp1, iTemp2; // -32768 ~ 32767
iTemp = 2147483646;
bTemps = BitConverter.GetBytes(iTemp);
iTemp1 = BitConverter.ToInt16(bTemps, 0);
iTemp2 = BitConverter.ToInt16(bTemps, 2);
반응형