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

📄 warutf8.cpp

📁 ftpserver very good sample
💻 CPP
字号:
#include "StdAfx.h"#include "WarUnicode.h"#include "WarUtf8.h"   // class implemented#ifndef WAR_MALLOC_H_INCLUDED#   define WAR_MALLOC_H_INCLUDED#   include <malloc.h>#endif#ifndef WAR_WCHAR_T_INCLUDED#   define WAR_WCHAR_T_INCLUDED#   include<wchar.h>#endif#ifndef WAR_EXCEPTION_H#   include "WarException.h"#endif/////////////////////////////// PUBLIC /////////////////////////////////////////============================= LIFECYCLE ====================================//============================= OPERATORS ====================================//============================= OPERATIONS ===================================//============================= ACCESS     ===================================//============================= INQUIRY    ===================================bool WarUtf8::IsUtf8(const war_ccstr_t from){    if (!from || !*from)        return false;    return war_utf8_valid((const unsigned char *)from, strlen(from));}bool WarUtf8::IsUtf8(const std::string& from){    if (from.empty())        return false;    return war_utf8_valid((const unsigned char *)from.c_str(),         from.length());}/////////////////////////////// PROTECTED  ////////////////////////////////////////////////////////////////// PRIVATE    ///////////////////////////////////void WarUtf8::ToUnicode(war_ccstr_t from){    size_t from_len = strlen(from);    wchar_t *pwide_buf = (wchar_t *)alloca((from_len +1) * sizeof(wchar_t));    int result = war_utf8_to_ucs4(pwide_buf, from_len, (const unsigned char *)from);    if (result <= 0)        WarThrow(WarError(WAR_CHRCNV_NOT_UTF8), NULL);    pwide_buf[result] = 0;    mUtf8Encoded = from;    mUnicode = pwide_buf;}void WarUtf8::ToUtf8(const war_cwstr_t from){    size_t from_len = wcslen(from);    unsigned char *pnarrow_buf =         (unsigned char *)alloca((from_len +1) * 6);    size_t result = war_ucs4_to_utf8(from, from_len, pnarrow_buf);       pnarrow_buf[result] = 0;    mUnicode = from;    mUtf8Encoded = (war_ccstr_t)pnarrow_buf;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -