記錄log中的16進製制和ASCII碼字元輸出

2021-09-05 18:49:31 字數 1643 閱讀 7264

寫通訊程式常常需要把發出和收到的包記錄到log檔案,而最常用的記錄方式就是16進製制和ascii碼左右對照的方式,

c**  :

1:

short debugascii( char *buf1, int leng, int line)

2:
18:       sprintf( temp, "%02x ", (unsigned char)buf1[i]);
19:       memcpy( &s[j*3+5+(j>7)], temp, 3);
20:

if ( isprint( buf1[i]))

21:
24:

else

25:
28:       j++;
29:

if ( j==16)

30:
35:    }
36:

if ( j)

37:
41: }

c#**:

1:

string toprintlog = loghex ( 16, 8, message );

2:
3:

public

static

string loghex ( int linewidth, int spaceindent, byte data )

4:
26:
27:

if ( data[i] >= 0x30 && data[i] <= 0x7e )

28:
31:

else

32:
35:
36:             line = line.insert ( line.length, temp );
37:
38:             j++;
39:
40:

if ( j == linewidth )

41:
48:

else

49:
64:                 }
65:             }
66:         }
67:

return sb.tostring();

68: }

輸出結果樣例:

1: 14a654a 20476459 14a654a 20476459   .jej .gdy .jej .gdy
2: 6646a49 20202020 6646a49 20202020   edji .... edji ....
3: 21f4a65 4a204764 21f4a65 4a204764   ..je j.gd ..je j.gd
4: 565646a 49203130 565646a 49203130   yedj i.10 yedj i.10
5: 2202020 20202020 2202020 20202020   .... .... .... ....

UIColor的16進製制色值,16進製制字串擴充套件

inte ce uicolor hex 16進製制字串轉化為顏色 param hexstr 16進製制字串 支援 0x.0x.return uicolor uicolor colorwithhexstring nsstring hexstr 16進製制字串轉化為顏色 param hexstr 16進...

10進製轉2進製和16進製制

看到論壇說面試遇到,就嘗試寫 public class test public static string tobinary int n return temp.reverse tostring 10進製轉16進製制 將給定的十進位制整數除以基數16,餘數便是等值的16進製制的最低位。將上一步的商再...

C 中中的2進製,8進製 16進製制變數

1 c和c 都沒有提供二進位制數的表達方法。2 c,c 語言中,如何表達乙個八進位制數呢?int 0123 這就是八進位制數在c c 中的表達方法。但是有乙個例外就是轉意符 因為c,c 規定不允許使用斜槓加10進製數來表示字元,所以 ascii值是63 077 是8進製表示 0可以省略,因為c,c ...