📄 utility.cpp
字号:
#include "stdafx.h"
#include "stdio.h"
char* ToIntNumber(char value)
{
_bstr_t bt = L"";
char buffer[100];
if(value != '\0')
{
if(value>='0' && value <= '9')
sprintf(buffer, "%c", value);
else if(value >= 'A' && value <= 'Z')
sprintf(buffer, "%c", value);
else if(value >= 'a' && value <= 'z')
sprintf(buffer, "%c", value);
else
{
bt = L"%";
sprintf(buffer, "%02x", (BYTE)value);
}
bt += buffer;
}
return _com_util::ConvertBSTRToString(bt);
}
void fn_UnicodeToUTF8(char* pOut, wchar_t *pText)
{
// 注意 WCHAR高低字的顺序,低字节在前,高字节在后
char* pchar = (char *)pText;
if( pchar[1]=='\0')
{
pOut[0] = pchar[0];
pOut[1] = '\0';
pOut[2] = '\0';
}
else
{
pOut[0] = (0xE0 | ((pchar[1] & 0xF0) >> 4));
pOut[1] = (0x80 | ((pchar[1] & 0x0F) << 2)) + ((pchar[0] & 0xC0) >> 6);
pOut[2] = (0x80 | (pchar[0] & 0x3F));
}
return;
}
char* UrlEncode(wchar_t * pSrcString)
{
char pchar[3];
_bstr_t bt = L"";
int i = 0;
while(pSrcString[i] != '\0')
{
fn_UnicodeToUTF8(pchar, pSrcString + i);
bt += ToIntNumber(pchar[0]);
bt += ToIntNumber(pchar[1]);
bt += ToIntNumber(pchar[2]);
i ++;
}
return _com_util::ConvertBSTRToString(bt);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -