怎么把一句中文转化成 二进制?

软件  可以用那些 直接计算器,手算又可用那些?
2025-03-31 19:07:13
推荐回答(2个)
回答1:

GBK("GB2312")编码时,一个汉字对应两个字节,UFT8("utf-8")编码时,一个汉字对应3个字节
UFT8编码时:
QString str = "中";
QTextCodec *code = QTextCodec::codecForName("utf-8");//UFT8编码
QByteArray ba = code->fromUnicode(str);
for(int i=0;i {
unsigned char temp;
temp=ba.at(i);
qDebug()$amp; }

打印出“中”的三个编码为:
ba.at(i)= 228
ba.at(i)= 184
ba.at(i)= 173

228 转换为二进制:11100100
184 转换为二进制:10111000
173 转换为二进制:10101101

回答2:

原型:
int WINAPI icePub_fileHexToHexString(char *strBinFilename,char *strHexStringFilename,int flag)
输入:strBinFilename 待处理文件名
strHexStringFilename 生成hex串文件名
flag 格式标志,0无格式;>0每字节空格分隔,并且每处理flag个数据就换行
输出:

VC sample代码:
typedef int (WINAPI ICEPUB_FILEHEXTOHEXSTRING)(char *strBinFilename,char *strHexStringFilename,int flag);
ICEPUB_FILEHEXTOHEXSTRING *icePub_fileHexToHexString = 0;
HINSTANCE hDLLDrv = LoadLibrary("icePubDll.dll");
if(hDLLDrv)
{
icePub_fileHexToHexString=(ICEPUB_FILEHEXTOHEXSTRING *)GetProcAddress(hDLLDrv,"icePub_fileHexToHexString");
}
if(icePub_fileHexToHexString)
{
icePub_fileHexToHexString("a.exe","a.txt",16);
}
if(hDLLDrv)
FreeLibrary(hDLLDrv);

VB sample 代码:
Private Declare Function icePub_fileHexToHexString Lib "icePubDll.dll" (ByVal strBinFilename As String,ByVal strHexStringFilename As String,ByVal flag As Integer) As Integer

Dim a2 As Integer

a2=icePub_fileHexToHexString("a.exe","a.txt",16)

原型:
void WINAPI icePub_BCDHexToHexString(BYTE *hexBuffer,BYTE *strHexString,int hexBufferLen)
输入:hexBuffer hex数据
hexBufferLen hexBuffer的长度
输出:strHexString 展开后hex文本串
返回码:

VC sample代码:
extern "C"
{
__declspec(dllexport)
void WINAPI icePub_BCDHexToHexString(BYTE *hexBuffer,BYTE *strHexString,int hexBufferLen);
}

#pragma comment(lib,"icePubDll.lib")

char str1[128];

icePub_BCDHexToHexString("月光",str1,8);
AfxMessageBox(str1);

VB sample 代码:
Private Declare Function icePub_BCDHexToHexString Lib "icePubDll.dll" (ByVal hexBuffer As String,ByVal strHexString As String,ByVal hexBufferLen As Integer) As Integer

Dim str1 As String
Dim a2 As Integer

str1=Space(1024*30)

a2=icePub_BCDHexToHexString("月光",str1,8)

MsgBox str1