⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 base64.cpp

📁 一个邮件客户端源代码,包括收发邮件,安排日程等很多内容
💻 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 + -