📄 base64.cpp
字号:
#include "stdafx.h"
#include "base64.h"
int koi[]={ //KOI_2_WIN
0x000 ,0x000 ,0x000 ,0x000 ,0x000 ,0x000 ,0x000 ,0x000 ,
0x000 ,0x000 ,0x000 ,0x000 ,0x000 ,0x000 ,0x000 ,0x000 ,
0x000 ,0x000 ,0x000 ,0x000 ,0x000 ,0x000 ,0x000 ,0x000 ,
0x000 ,0x000 ,0x000 ,0x000 ,0x000 ,0x000 ,0x000 ,0x000 ,
0x000 ,0x000 ,0x000 ,0x038 ,0x000 ,0x000 ,0x000 ,0x000 ,
0x000 ,0x000 ,0x000 ,0x000 ,0x000 ,0x000 ,0x000 ,0x000 ,
0x000 ,0x000 ,0x000 ,0x028 ,0x000 ,0x000 ,0x000 ,0x000 ,
0x000 ,0x000 ,0x000 ,0x000 ,0x000 ,0x000 ,0x000 ,0x000 ,
0x07E ,0x060 ,0x061 ,0x076 ,0x064 ,0x065 ,0x074 ,0x063 ,
0x075 ,0x068 ,0x069 ,0x06A ,0x06B ,0x06C ,0x06D ,0x06E ,
0x06F ,0x07F ,0x070 ,0x071 ,0x072 ,0x073 ,0x066 ,0x062 ,
0x07C ,0x07B ,0x067 ,0x078 ,0x07D ,0x079 ,0x077 ,0x07A ,
0x05E ,0x040 ,0x041 ,0x056 ,0x044 ,0x045 ,0x054 ,0x043 ,
0x055 ,0x048 ,0x049 ,0x04A ,0x04B ,0x04C ,0x04D ,0x04E ,
0x04F ,0x05F ,0x050 ,0x051 ,0x052 ,0x053 ,0x046 ,0x042 ,
0x05C ,0x05B ,0x047 ,0x058 ,0x05D ,0x059 ,0x057 ,0x05A
};
BOOL KOI8ToWin(CString& s)
{
LPTSTR p = s.GetBuffer(s.GetLength());
while ( *(p)!=0 )
{
if ( unsigned char(*(p))>0x080 && unsigned char(*(p))<0x0ff)
*(p) = (TCHAR) (koi[unsigned char(*(p))-0x080]+0x080);
p++;
}
s.ReleaseBuffer();
return TRUE;
};
BOOL UTF8ToWin(CString& sDecoded)
{
// step1: UTF->UNICODE
CString sNew;
int nLen = sDecoded.GetLength();
nLen = MultiByteToWideChar(CP_UTF8, 0, (LPCSTR)sDecoded, nLen,
(LPWSTR)sNew.GetBuffer(nLen*2+2), nLen*2);
sNew.ReleaseBuffer();
// step2: UNICODE->SByte
CString sNormal;
LPTSTR pMem = sNormal.GetBuffer(nLen*2);
ZeroMemory(pMem, nLen*2);
WideCharToMultiByte(CP_ACP, 0, (LPCWSTR)(LPCTSTR)sNew, nLen,
pMem, nLen*2, NULL, NULL);
sNormal.ReleaseBuffer();
sDecoded = sNormal;
return TRUE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -