二進制字符串轉換為int類型
int m=Integer.parseInt(a,2);//將字符串轉化成十進制整形,2表示原串表示的數是二進制
String n=Integer.toBinaryString(m);//將上面那個十進制數轉化為二進制字符串形式
C++二進制字符串轉十六進制字符串 十六進制字符串轉二進制字符串
//__二進制轉十六進制 std::string BinToHex(const std::string &strBin, bool bIsUpper/* = false*/) { std::string strHex; strHex.resize(strBin.size() * 2); for (size_t i = 0; i < strBin.size(); i++) { uint8_t cTemp = strBin[i]; for (size_t j = 0; j < 2; j++) { uint8_t cCur = (cTemp & 0x0f); if (cCur < 10) { cCur += '0'; } else { cCur += ((bIsUpper ? 'A' : 'a') - 10); } strHex[2 * i + 1 - j] = cCur; cTemp >>= 4; } } return strHex; }
//十六進制轉二進制 std::string HexToBin(const std::string &strHex) { if (strHex.size() % 2 != 0) { return ""; } std::string strBin; strBin.resize(strHex.size() / 2); for (size_t i = 0; i < strBin.size(); i++) { uint8_t cTemp = 0; for (size_t j = 0; j < 2; j++) { char cCur = strHex[2 * i + j]; if (cCur >= '0' && cCur <= '9') { cTemp = (cTemp << 4) + (cCur - '0'); } else if (cCur >= 'a' && cCur <= 'f') { cTemp = (cTemp << 4) + (cCur - 'a' + 10); } else if (cCur >= 'A' && cCur <= 'F') { cTemp = (cTemp << 4) + (cCur - 'A' + 10); } else { return ""; } } strBin[i] = cTemp; } return strBin; }
來源:
https://blog.csdn.net/weixin_33882452/article/details/92035704
https://www.cnblogs.com/azbane/p/10179742.html