91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 3KB
    文件類(lèi)型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-05-22
  • 語(yǔ)言: C/C++
  • 標(biāo)簽: UTF8??C++??

資源簡(jiǎn)介

utf8編碼解碼的純C++代碼 僅在Visual Studio 2005 /2010 調(diào)試通過(guò) 將utf8字節(jié)流解碼為寬字符(wchar_t)時(shí),結(jié)果的正確性依賴(lài)于sizeof(wchar_t) 具體來(lái)說(shuō)就是wchar_t是否有足夠的空間容納 UNICODE碼

資源截圖

代碼片段和文件信息

#include?“Coding.h“

using?namespace?Text;

#pragma?warning?(?disable:?4333)

namespace?_utf8_
{
void?encode(const?wchar_t?*?strunsigned?long?strlen?unsigned?char?*?buffer?)
{
while(?strlen?>?0?)
{
if(?*str? {
*buffer?=(unsigned?char)*str;
buffer++;
}
else?if(?*str<0x0800)?//雙字節(jié)模板?110xxxxx?10xxxxxx
{
*buffer?=?(?*str?>>?6???|?0xc0?);
buffer[1]?=?(?*str?&?0x3f?|?0x80?);
buffer+=2;
}
else?if(?*str? {
*buffer?=?(?*str?>>?12?????????|?0xe0);
buffer[1]?=?(?*str?>>?6??&?0x3f??|?0x80);
buffer[2]?=?(?*str?&?0x3f????????|?0x80);
buffer+=3;
}
else?if?(?*str? {
*buffer?=?(*str?>>?18????????|?0xf0);
buffer[1]?=?(*str?>>?12?&?0x3f?|?0x80);
buffer[2]?=?(*str?>>?6??&?0x3f?|?0x80);
buffer[3]?=?(*str?&?0x3f???????|?0x80);
buffer+=4;
}
else?if?(?*str? {
*buffer?=?(?*str>>24??|?0xf8?);
buffer[1]?=?(?*str>>18?&?0x3f?|?0x80?);
buffer[2]?=?(?*str>>12?&?0x3f?|?0x80?);
buffer[3]?=?(?*str>>6??&?0x3f?|?0x80?);
buffer[4]?=?(?*str?&0x3f??????|?0x80?);
buffer+=5;
}
else???????????????????????//六字節(jié)模板?1111110x?10xxxxxx?10xxxxxx?10xxxxxx?10xxxxxx?10xxxxxx?
{
*buffer?=?(?*str>>30??|?0xfc?);
buffer[1]?=?(?*str>>24?&?0x3f?|?0x80?);
buffer[2]?=?(?*str>>18?&?0x3f?|?0x80?);
buffer[3]?=?(?*str>>12?&?0x3f?|?0x80?);
buffer[4]?=?(?*str>>6??&?0x3f?|?0x80?);
buffer[5]?=?(?*str?&0x3f??????|?0x80?);
buffer+=6;
}

strlen?--?;
str++;
}
}

bool?count_force(const?unsigned?char?*?bytes?unsigned?long?bytes_lenunsigned?long?&count)
{
if(?bytes?==?0?)
{
return?false;
}
unsigned?long?tmpcount=0;
while(?bytes_len?>?0?)
{
if(?*bytes? {
bytes++;
bytes_len?--;
}
else?if?(??((*bytes)?>>?5)?==6?)?//110xxxxx?10xxxxxx
{
if(bytes_len?>1?&&?bytes[1]>>6?==?2?)
{
bytes+=2;
bytes_len?-=2;
}
}
else?if?(?((*bytes)?>>?4)?==?14?)?//1110xxxx?10xxxxxx?10xxxxxx
{
if(?bytes_len?>2?&&??bytes[1]>>6==2?&&?bytes[2]>>6==2?)
{
bytes+=3;
bytes_len?-=3;
}
}
else?if?(?((*bytes)?>>?3)?==?30?)?//11110xxx?10xxxxxx?10xxxxxx?10xxxxxx
{
if(??bytes_len?>3?&&?bytes[1]>>6==2?&&?bytes[2]>>6==2?&&?bytes[3]>>6==2?)
{
bytes+=4;
bytes_len?-=4;
}
}
else?if?(?((*bytes)?>>?2)?==?62?)?//111110xx?10xxxxxx?10xxxxxx?10xxxxxx?10xxxxxx
{
if(?bytes_len?>4?&&??bytes[1]>>6==2?&&?bytes[2]>>6==2?&&?bytes[3]>>6==2?&&?bytes[4]>>6==2?)
{
bytes+=5;
bytes_len?-=5;
}
}
else?if?(?((*bytes)?>>?1)?==?126?)?//1111110x?10xxxxxx?10xxxxxx?10xxxxxx?10xxxxxx?10xxxxxx
{
if(?bytes_len?>5?&&??bytes[1]>>6==2?

?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----

?????文件???????8984??2013-07-10?17:20??Coding.cpp

?????文件???????2487??2013-07-10?18:20??Coding.h

-----------?---------??----------?-----??----

????????????????11471????????????????????2


評(píng)論

共有 條評(píng)論