一個BYTE轉16進制字符串的函數

std::string byteToHexStr(unsigned char byte_arr[], int arr_len)
{
	std::string hexstr;
	for (int i=0;i<arr_len;i++)
	{
		char hex1;
		char hex2;
		int value=byte_arr[i]; //直接將unsigned char賦值給整型的值,強制轉換
		int v1=value/16;
		int v2=value % 16;


		//將商轉成字母
		if (v1>=0&&v1<=9)
			hex1=(char)(48+v1);
		else
			hex1=(char)(55+v1);


		//將餘數轉成字母
		if (v2>=0&&v2<=9)
			hex2=(char)(48+v2);
		else
			hex2=(char)(55+v2);


		//將字母連接成串
		hexstr=hexstr+hex1+hex2;
	}
	return hexstr;
} 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章