亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 字符轉換.h

?? 轉換UNCODE為UTF-8字符
?? H
字號:

int GetBitFromHeader(char chSourceData, int iBitNum)
{
	bool Flag = 0;
	int iData = 0;

	if( iBitNum >= 6 )
		return -1;

	iData = ( chSourceData & 0x80 );
	
	iData &= 0x000000ff; 
	if( iData != 0x80 )
	{
		Flag = 0;
		return Flag;
	}

	chSourceData = chSourceData << iBitNum + 1;
	chSourceData = chSourceData & 0x80;
	Flag = (chSourceData >> 7);
	
	return Flag;
}

void GetValue(char chSourceData, char& chValue)
{
	chSourceData = chSourceData & 0x3F;
	chValue = chSourceData;
}

void GetHeaderValue(char chSourceData, char& chValue, int iBit)
{
	chSourceData = chSourceData << iBit;
	chSourceData = chSourceData >> iBit;
	chValue = chSourceData;
}

void BinToChar( const char chSource, CString& strResult )
{
	char ch = ( chSource & 0x80 ) >> 7;
	if( ch == 0x00 )
		ch = '0';
	else
		ch = '1';
	strResult += ch;

	ch = ( chSource & 0x40 ) >> 6;
	if( ch == 0x00 )
		ch = '0';
	else
		ch = '1';
	strResult += ch;

	ch = ( chSource & 0x20 ) >> 5;
	if( ch == 0x00 )
		ch = '0';
	else
		ch = '1';
	strResult += ch;

	ch = ( chSource & 0x10 ) >> 4;
	if( ch == 0x00 )
		ch = '0';
	else
		ch = '1';
	strResult += ch;

	ch = ( chSource & 0x08 ) >> 3;
	if( ch == 0x00 )
		ch = '0';
	else
		ch = '1';
	strResult += ch;

	ch = ( chSource & 0x04 ) >> 2;
	if( ch == 0x00 )
		ch = '0';
	else
		ch = '1';
	strResult += ch;

	ch = ( chSource & 0x02 ) >> 1;
	if( ch == 0x00 )
		ch = '0';
	else
		ch = '1';
	strResult += ch;

	ch = ( chSource & 0x01 );
	if( ch == 0x00 )
		ch = '0';
	else
		ch = '1';
	strResult += ch;

}

BOOL CharToBin( const CString strSource, char& chResult )
{
	char ch = 0x00;
	int iStrLength = strSource.GetLength();

	if( iStrLength > 8 )
		return FALSE;
	
	chResult = 0x00;

	for( int i = 0; i < iStrLength; i++ )
	{
		chResult = chResult << 1;
		ch = strSource.GetAt( i );
		chResult += atoi( &ch );
	}

	return TRUE;
}

void GetLen(int& iLen)
{
	int iResult = 0;

	iResult = iLen / 8;

	iLen = iResult;
}

void ChangeLtoH(char* chSource, int iSourceLen, char* chResult, int& iResultLen)
{
	char chMiddle = 0x00;

	for( int i = 0; i < iSourceLen && i < iResultLen; i++ )
	{
		chResult[ i + 1 ] = chSource[ i ];
		chResult[ i ] = chSource[ i + 1 ];
		i++;
	}
	iResultLen = iSourceLen;
}

void MakeUp(char * chSourceData, int iSourceLen, char* chResult, int& iResultLen)
{
	CString strResult = "";
	CString strMiddle = "";

	if( iSourceLen == 1 )
	{
		BinToChar( chSourceData[ 0 ], strMiddle );
		strResult += "00000000";
		strResult += strMiddle;
	}
	else
		for( int i = 0; i < iSourceLen; i++ )//多字節
		{
			BinToChar( chSourceData[ i ] , strMiddle );
			strMiddle = strMiddle.Right( 6 );
			strResult += strMiddle;
			strMiddle = "";
		}
	iSourceLen = strResult.GetLength();
	GetLen( iSourceLen );
	for( int i = 0; i < iSourceLen; i++ )
	{
		strMiddle = strResult.Right( 8 );
		CharToBin( strMiddle, chResult[ iSourceLen - i - 1 ] );
		strResult = strResult.Left( strResult.GetLength() - 8 );
	}

	iResultLen = iSourceLen;

} 

void MakeUTF8(CString strSource, char* chResult, int& iResultLen)
{
	int iLen			= 0;
	char ch				= 0x00;
	CString strHeader	= "";
	
	iLen = strSource.GetLength();
	if( iLen == 8 )//單字
	{
		CharToBin( strSource, ch );
		chResult[ 0 ] = ch;
		iResultLen = 1;
		return ;
	}
	//多字
	if( iLen % 6 )
	{
		iLen = iLen / 6;
		iLen++;
	}
	else
		iLen = iLen / 6;

	for( int i = 0; i < iLen; i++ )
	{
		CharToBin( strSource.Right(6), ch );
		chResult[ iLen - i - 1 ] = ch;
		if( i != iLen - 1 )
			chResult[ iLen - i - 1 ] += 0x80; 
		strHeader += "1";
		strSource = strSource.Left( strSource.GetLength() - 6 );
	}
	CharToBin( strHeader, ch );
	ch = ch << (8 - iLen);
	chResult[ 0 ] += ch;

	iResultLen = iLen;

}

void UnicodetoUTF8(char* chUnicode, int iUnicodeLen, char* chUTF8, int& iUTF8Len)
{
	int iLen			= 0;
	int iOneUTF8Len		= 0;
	int iUTF8Pos		= 0;
	CString strMiddle	= "";
	CString strResult	= "";

	iLen = iUTF8Len;
	ChangeLtoH( chUnicode, iUnicodeLen, chUTF8, iLen );
	memcpy( chUnicode, chUTF8, iLen );
	
	for( int i = 0; i < iLen; i++ )
	{
		strMiddle = "";
		BinToChar( chUnicode[ i ], strMiddle );
		if( strMiddle != "00000000" )
			strResult += strMiddle;
		i++;

		strMiddle = "";
		BinToChar( chUnicode[ i ], strMiddle );
		if( strMiddle != "00000000" )
			strResult += strMiddle;

		MakeUTF8( strResult, chUTF8 + iUTF8Pos, iOneUTF8Len );
		iUTF8Pos += iOneUTF8Len;
		strResult = "";
	}

	iUTF8Len = iUTF8Pos;

}

void UTF8toUnicode(char* chUTF8, int iUTF8Len, char* chUnicode, int& iUnicodeLen)
{
	int  iOneLen		= 0;
	int  iFlag			= 0;
	int  iResultLen		= 0;
	int  iUnicodePos	= 0;
	char chHeader		= 0x00;
	char chMiddle		= 0x00;
	char chResult[1024];

	for( int i = 0; i < iUTF8Len; i++ )
	{
		iResultLen = 0;
		chHeader = chUTF8[ i ];
		for( int j = 0; j < 6; j++ )
		{
			switch( j )
			{
				case 0: 
						iFlag = GetBitFromHeader( chHeader, j );
						if( iFlag == 1 )
						{
							GetValue( chUTF8[ j + i + 1 ], chResult[ j + 1 ] );
							iResultLen++;
						}
						break;
				case 1: 
						iFlag = GetBitFromHeader( chHeader, j );
						if( iFlag == 1 )
						{
							GetValue( chUTF8[ j + i + 1 ], chResult[ j + 1 ] );
							iResultLen++;
						}
						break;
				case 2: 
						iFlag = GetBitFromHeader( chHeader, j );
						if( iFlag == 1 )
						{
							GetValue( chUTF8[ j + i + 1 ], chResult[ j + 1 ] );
							iResultLen++;
						}
						break;
				case 3: 
						iFlag = GetBitFromHeader( chHeader, j );
						if( iFlag == 1 )
						{
							GetValue( chUTF8[ j + i + 1 ], chResult[ j + 1 ] );
							iResultLen++;
						}
						break;
				case 4: 
						iFlag = GetBitFromHeader( chHeader, j );
						if( iFlag == 1 )
						{
							GetValue( chUTF8[ j + i + 1 ], chResult[ j + 1 ] );
							iResultLen++;
						}
						break;
				case 5: 
						iFlag = GetBitFromHeader( chHeader, j );
						if( iFlag == 1 )
						{
							GetValue( chUTF8[ j + i + 1 ], chResult[ j + 1 ] );
							iResultLen++;
						}
						break;

				default : break;
			}
			if( iFlag == 0 )
			{
				if( j == 0 )
				{
					chResult[0] = chHeader;
					iResultLen = 1;
				}
				else
				{
					GetHeaderValue( chHeader, chResult[ 0 ], j + 1 );
					iResultLen++;
				}
				iOneLen = iUnicodeLen;
				MakeUp( chResult, iResultLen, chUnicode + iUnicodePos, iOneLen );
				iUnicodePos += iOneLen;
				i += j;
				break;
			}
		}
	}
	ChangeLtoH( chUnicode, iUnicodePos, chResult, iUnicodeLen );
	memcpy( chUnicode, chResult, iUnicodeLen );
	
}

int Covent(char *pS, int npS, char *pD)
{
     //計算轉換的字符數936
     int iLen=WideCharToMultiByte (936, 0, (PWSTR) pS, -1, NULL,0, NULL, NULL) ;
     //給pszBig5分配內存
     char *pszBig5=new char[iLen+1];
     //轉換Unicode碼到Big5碼,使用API函數WideCharToMultiByte
     int iDLen = WideCharToMultiByte (936, 0, (PWSTR) pS, -1, pszBig5, iLen, NULL, NULL);

	 memcpy( pD, pszBig5, iDLen );

	 return 0;
}


//////////////////////////////////////////////
void Example()
{
	int iUnicodeLen = 1024;
	int iResultLen = 1024;
	char chUnicode[1024];
	char chResult[1024];
	char chUTF8[1024] = {
0x4D ,0x53 ,0x47 ,0x20 ,0x32 ,0x36 ,0x39 ,0x20 ,0x41 ,0x20 ,
0x31 ,0x36 ,0x34 ,0x0D ,0x0A ,0x4D ,0x49 ,0x4D ,0x45 ,0x2D ,
0x56 ,0x65 ,0x72 ,0x73 ,0x69 ,0x6F ,0x6E ,0x3A ,0x20 ,0x31 ,
0x2E ,0x30 ,0x0D ,0x0A ,0x43 ,0x6F ,0x6E ,0x74 ,0x65 ,0x6E ,
0x74 ,0x2D ,0x54 ,0x79 ,0x70 ,0x65 ,0x3A ,0x20 ,0x74 ,0x65 ,
0x78 ,0x74 ,0x2F ,0x70 ,0x6C ,0x61 ,0x69 ,0x6E ,0x3B ,0x20 ,
0x63 ,0x68 ,0x61 ,0x72 ,0x73 ,0x65 ,0x74 ,0x3D ,0x55 ,0x54 ,
0x46 ,0x2D ,0x38 ,0x0D ,0x0A ,0x58 ,0x2D ,0x4D ,0x4D ,0x53 ,
0x2D ,0x49 ,0x4D ,0x2D ,0x46 ,0x6F ,0x72 ,0x6D ,0x61 ,0x74 ,
0x3A ,0x20 ,0x46 ,0x4E ,0x3D ,0x25 ,0x45 ,0x35 ,0x25 ,0x41 ,
0x45 ,0x25 ,0x38 ,0x42 ,0x25 ,0x45 ,0x34 ,0x25 ,0x42 ,0x44 ,
0x25 ,0x39 ,0x33 ,0x3B ,0x20 ,0x43 ,0x4F ,0x3D ,0x30 ,0x30 ,
0x30 ,0x30 ,0x30 ,0x30 ,0x3B ,0x20 ,0x45 ,0x46 ,0x3D ,0x3B ,
0x20 ,0x50 ,0x46 ,0x3D ,0x32 ,0x32 ,0x0D ,0x0A ,0x0D ,0x0A ,
0xE6 ,0x9C ,0x89 ,0xE6 ,0x9C ,0x89 ,0xE6 ,0x9C ,0x89 ,0xE6 ,
0x9C ,0x89 ,0xE6 ,0x9C ,0x89 ,0xE6 ,0x9C ,0x89 ,0xE6 ,0x9C ,
0x89 ,0xE6 ,0x9C ,0x89 ,0xE6 ,0x9C ,0x89 ,0xE6 ,0x9C ,0x89 ,
0xE6 ,0x9C ,0x89 ,0xE6 ,0x9C ,0x89 ,0xE6 ,0x9C ,0x89 ,0x00 };
//AfxMessageBox( chUTF8 );
//ChangeLtoH( chUTF8, 213, chUnicode, iUnicodeLen );

	UTF8toUnicode( chUTF8, 180, chUnicode, iUnicodeLen );

iResultLen = 1024;
UnicodetoUTF8( chUnicode, iUnicodeLen, chUTF8, iResultLen );
UTF8toUnicode( chUTF8, iResultLen, chUnicode, iUnicodeLen );

	chUnicode[ iUnicodeLen + 1 ] = '\0';
	Covent( chUnicode, iUnicodeLen, chResult );
	AfxMessageBox( chResult );

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美日韩麻豆91| 美女视频一区在线观看| 日本特黄久久久高潮| 国产欧美日韩精品在线| 欧美剧情片在线观看| 成人一道本在线| 蜜桃av一区二区三区电影| 一区二区三区高清在线| 国产日韩欧美亚洲| 久久免费看少妇高潮| 精品国产百合女同互慰| 91精品国产一区二区三区蜜臀| 91精品国产一区二区三区| 色天天综合色天天久久| 国产一区美女在线| 精久久久久久久久久久| 国产精品资源站在线| 国产在线视频精品一区| 国产一区二区三区免费看| 亚洲精品中文字幕乱码三区| 中文字幕在线观看不卡| 亚洲视频每日更新| 一区在线观看免费| 亚洲黄色小视频| 亚洲一级二级三级| 亚洲va天堂va国产va久| 日韩影院在线观看| 精品在线观看免费| 秋霞成人午夜伦在线观看| 同产精品九九九| 免费观看日韩av| 国产精品亚洲第一区在线暖暖韩国| 国产资源在线一区| 99国产欧美久久久精品| 色综合色综合色综合| 欧美日韩国产中文| 精品国一区二区三区| 国产三级欧美三级| 国产精品国产三级国产a| 亚洲日本一区二区| 天天综合色天天| 国产精品自拍毛片| 在线观看成人免费视频| 欧美一级精品大片| 中文字幕不卡一区| 日av在线不卡| 成人激情开心网| 在线视频国内自拍亚洲视频| 91精品欧美久久久久久动漫| 久久久久久久综合| 亚洲国产精品久久久男人的天堂| 青青国产91久久久久久| 白白色 亚洲乱淫| 欧美高清视频www夜色资源网| 7799精品视频| 国产精品免费观看视频| 日韩和欧美一区二区| 成人国产精品免费观看视频| 欧美三级在线播放| 国产精品进线69影院| 青青草原综合久久大伊人精品优势| 国产成人免费视频网站高清观看视频| 欧美亚洲另类激情小说| 日韩一区二区三免费高清| 国产精品久久久久国产精品日日 | 精品少妇一区二区三区在线视频| 久久久91精品国产一区二区三区| 亚洲成人第一页| 93久久精品日日躁夜夜躁欧美| 精品国产一区二区在线观看| 亚洲一区二区三区四区中文字幕| 大白屁股一区二区视频| 精品少妇一区二区三区| 日韩国产在线观看一区| 99久久99久久精品国产片果冻| 久久综合色婷婷| 日本vs亚洲vs韩国一区三区二区 | 69堂精品视频| 樱花草国产18久久久久| 粉嫩在线一区二区三区视频| 精品伦理精品一区| 日本不卡中文字幕| 91麻豆精品一区二区三区| 欧美一区二区三区视频免费| 国产精品久久久久四虎| 国产精品亚洲午夜一区二区三区| 91精品国产综合久久久久久漫画| 亚洲成人一区二区| 欧美亚洲一区三区| 午夜视频一区二区三区| 欧美日韩视频第一区| 亚洲不卡av一区二区三区| av成人老司机| 国产精品美女久久福利网站| 99视频精品免费视频| 综合在线观看色| 91激情五月电影| 亚洲主播在线播放| 欧美丰满少妇xxxxx高潮对白| 亚洲成人精品一区二区| 5566中文字幕一区二区电影| 色婷婷综合五月| 中文字幕综合网| 99久久免费国产| 亚洲欧美激情在线| 欧美日韩激情一区二区| 日本欧美一区二区在线观看| 精品日韩欧美一区二区| 成人丝袜18视频在线观看| 欧美国产日产图区| 播五月开心婷婷综合| 一区二区三区不卡在线观看 | 精品免费日韩av| 成人在线综合网| 亚洲人成网站精品片在线观看| 色婷婷亚洲精品| 日韩av不卡在线观看| 久久嫩草精品久久久久| www.久久久久久久久| 午夜精品在线看| 欧美丰满一区二区免费视频| 亚洲第一在线综合网站| 久久久欧美精品sm网站| 日本福利一区二区| 免费不卡在线观看| 国产精品美女www爽爽爽| 欧美美女直播网站| 国产成人午夜99999| 亚洲影视在线观看| 精品国产三级电影在线观看| 91丨porny丨国产| 毛片av一区二区| 亚洲精品乱码久久久久久久久 | 亚洲成人黄色影院| 亚洲日本韩国一区| 国产精品美女久久久久久久| 久久久久国产精品麻豆| 欧美成人bangbros| 日韩一卡二卡三卡四卡| 欧美日韩一区二区三区视频| 国产欧美一区二区三区在线看蜜臀| 欧美日韩激情一区二区三区| 色8久久精品久久久久久蜜| eeuss鲁片一区二区三区在线看| 国产精品一级二级三级| 久久er99精品| 国产在线播精品第三| 激情久久五月天| 精品一区二区成人精品| 老司机午夜精品| 精品一二线国产| 国产精品影音先锋| 国产不卡视频在线播放| 成人开心网精品视频| 成熟亚洲日本毛茸茸凸凹| 成人性视频免费网站| 成人免费毛片嘿嘿连载视频| 成人福利视频在线看| aaa欧美日韩| 欧洲精品在线观看| 3d动漫精品啪啪| 日韩美女一区二区三区四区| 精品久久久久一区| 国产欧美日韩在线看| 国产精品传媒在线| 一区二区三区在线影院| 午夜一区二区三区视频| 美国十次综合导航| 国产91丝袜在线18| 欧美在线免费观看亚洲| 欧美一区日本一区韩国一区| xvideos.蜜桃一区二区| 国产精品欧美一区喷水| 一级精品视频在线观看宜春院| 五月激情丁香一区二区三区| 久久国产精品99精品国产| 国产91精品一区二区麻豆网站| 色哟哟国产精品| 欧美大片一区二区| 国产精品狼人久久影院观看方式| 亚洲蜜臀av乱码久久精品蜜桃| 天天综合天天综合色| 国产乱对白刺激视频不卡| 色国产综合视频| 精品国产乱码久久久久久1区2区| 国产亚洲成av人在线观看导航 | 欧美日韩久久久一区| 亚洲精品一区二区三区精华液| 亚洲欧洲日韩综合一区二区| 首页国产欧美久久| 国产suv一区二区三区88区| 欧美乱妇20p| 中文字幕av一区 二区| 肉色丝袜一区二区| 成人精品一区二区三区四区| 欧美日韩精品欧美日韩精品 | 亚洲综合清纯丝袜自拍| 国产精品白丝av| 欧美久久久久久蜜桃| 国产精品福利影院|