[C# Form] byte[] > string / hex string > int / int > hex string / string > byte[]
1. byte array (byte[] )을 string으로 변환
byte[] byte_data = new byte[4];
byte_data[0] = 0x31; //'1' ascii 코드표 참조
byte_data[1] = 0x32; //'2' ascii 코드표 참조
byte_data[2] = 0x61; //'a' ascii 코드표 참조
byte_data[3] = 0x62; //'b' ascii 코드표 참조
string string_data = Encoding.Default.GetString(byte_data);
> string_data 결과 : "12ab"
2. hex로 표현된 string을 int로 변환
int int_data = Convert.ToInt32(string_data, 16); // 16진수로 표현된 string을 int로 변환
> int_data 결과 : 4779
3. int를 hex로 표현된 string으로 변환
String str_hex = int_data .ToString("X4");
> str_hex 결과 : "12AB"
※ X4에서 숫자 4는 4자리로 표현. 예를들어 X6일경우 결과 값이 "0012AB"가 된다.
※ X4에서 X(대문자)는 알파벳을 대문자로 표현하고 x(소문자)는 알파벳 소문자로표현 .
예를들어 x4일경우 결과 값이 "12ab"가 된다.
4. string을 byte array(byte[])로 변환
byte[] byte_array_data = Encoding.UTF8.GetBytes(str_hex );
> byte_array_data []결과 :
byte_array_data [0] = 0x31; //49 '1' ascii 코드표 참조
byte_array_data [1] = 0x32; //50 '2' ascii 코드표 참조
byte_array_data [2] = 0x41; //65 'A' ascii 코드표 참조
byte_array_data [3] = 0x42; //66 'B' ascii 코드표 참조
[C# Form]Uart Communication (0) | 2022.12.13 |
---|