xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 3KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-22
  • 語言: C/C++
  • 標簽: UTF8??C++??

資源簡介

utf8編碼解碼的純C++代碼 僅在Visual Studio 2005 /2010 調試通過 將utf8字節流解碼為寬字符(wchar_t)時,結果的正確性依賴于sizeof(wchar_t) 具體來說就是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)?//雙字節模板?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???????????????????????//六字節模板?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?

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

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

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

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

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


評論

共有 條評論