1. 程式人生 > >使用stringstream unsigned char轉16進制輸出

使用stringstream unsigned char轉16進制輸出

asc ast signed ati ascii har static setw 直接

直接將unsigned char放入stringstream會存在問題,因為unsigned char首位不是符號位,那麽按照unsigned char對應的ASCII碼轉換成字符的時候會出現亂碼;
使用static_cast 將unsigned char先轉換成int,再輸入stringstream解決此問題;
unsigned char ch = 160;
std::stringstream ss;
ss<<std::hex<<std::setw(2)<< ch;
詳細原因後續補全

使用stringstream unsigned char轉16進制輸出