void SecToStr(const std::string strSrc, std::string& strDst) for (size_t j = 0; j < strSrc.size(); j = j+8) std::string strTmp = strSrc.substr(j, 8); unsigned int i = 0; const char* pch = strTmp.c_str(); while (*pch == '0' || *pch == '1') { i <<= 1; i |= *pch++ - '0'; char a[2] = {0, 0}; a[0] = i; a[1] = '\0'; std::string strTmp2 = a; strDst.append(strTmp2); void StrToSec(const std::string& strSrc, std::string& strDst) std::string str = strSrc; for (int i = 0;i < strSrc.size();++i) { for (int j = 7;j >= 0;--j) { if (str[i] >> j & 0x1) { strDst.append("1"); else { strDst.append("0"); int main() std::string str = "万剑归总,hello, world!"; std::cout << str << "\n"; std::string strDst = ""; StrToSec(str, strDst); std::cout << strDst << "\n"; std::string dst1 = ""; SecToStr(strDst, dst1); std::cout << dst1 << "\n"; 废话不多说上代码#include <iostream>#include <vector>#include <string>void SecToStr(const std::string strSrc, std::string& strDst){ for (size_t j = 0; j < strSrc.size(); j = j+8) { std::string strTmp = strSrc.substr(
代码如下: 代码如下:<SPAN xss=removed> char* p = “1010110001100”; int n = 0; for(int i=0;i<strlen xss=removed> 您可能感兴趣的文章: C++ 十进制转换为二进制的实例代码 C++ 实现 string存取二进制数据的方法 C++ 实现 读入二进制数并转换为十进制输出详解 C++ 编程中对二进制文件的读写操作 C++ 二进制翻转实例分析 C++ 中几种将整数
转化为 字符串 的2种方法比较 转化为 字符串 ,一种是使用BinToHex(),将2进制字节转换为16进制 字符串 ,经过这样转换后的 字符串 的长度刚好是 .size的2倍。 一种是使用base64编码,将2进制字节转换为BASE64编码后的 字符串 ,经过这样转换后的 字符串 的长度比 .size稍微大一些。 笔者为此专门作了测试: 通过2种方式分别查询同样数据集的数据 .size:421字节 _In_ DWORD dwFlags, _In_NLS_string_(cbMultiByte) LPCCH lpMultiByteStr, _In_ int cbMultiByte, _Out_writes_to_opt_(cchWideChar,return)...
很多时候在 C++ 里面,读取文件的方式很多,加上操作 字符串 是比较方便的一种形式,因为string类里面提供的方法还是比较充足的,下面记录一种将文件读取成 字符串 的方法: 需要的基础类型: string: 字符串 类型 ifstream:输入 读取的一个过程: //首先定义一下我们需要用到的变量 std::string CodeFilestr; // 假设我们现在要读取的是一个.cpp的代码文...
std::string ANSItoUTF8(const char * ansi) int len = MultiByteToWideChar(CP_ACP, 0, ansi, -1, NULL, 0); wchar_t* wstr = new wchar_t[len+1]; memset(wstr, 0, len+1); MultiByteToWideChar(CP_ACP, 0, ...
if (hexVal[i]>='0' && hexVal[i]<='9') deciVal += (hexVal[i] - 48)*pow(32, strlen(hexVal)-1-i); else if (hexVal[i]>='A' && hexVal[i]<='Z') deciVal += (hexVal[i] - 55)*pow(32, strlen(hexVal)-1-i); return deciVal; 使用这些函数时,你可以这样调用: long long n; char hexaDeciNum[100]; // 输入十进制数 printf("Enter a decimal number: "); scanf("%lld", &n); // 转换为三十二进制数 decToHex(n);