1 Star 0 Fork 0

陈祎麒/mlcc

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
PotConv.h 1.35 KB
一键复制 编辑 原始数据 按行查看 历史
sb500 提交于 2022-01-10 16:12 . 添加PotIconv
#pragma once
#include "iconv.h"
#include <algorithm>
#include <cstring>
#include <map>
#include <string>
class PotConv
{
public:
PotConv();
virtual ~PotConv();
static std::string conv(const std::string& src, const char* from, const char* to);
static std::string conv(const std::string& src, const std::string& from, const std::string& to);
static std::string cp936toutf8(const std::string& src) { return conv(src, "cp936", "utf-8"); }
static std::string cp950toutf8(const std::string& src) { return conv(src, "cp950", "utf-8"); }
static std::string cp950tocp936(const std::string& src) { return conv(src, "cp950", "cp936"); }
static std::string utf8tocp936(const std::string& src) { return conv(src, "utf-8", "cp936"); }
static void fromCP950ToCP936(char* s)
{
auto str = PotConv::cp950tocp936(s);
memcpy(s, str.data(), str.length());
}
static void fromCP950ToUTF8(char* s)
{
auto str = PotConv::cp950toutf8(s);
memcpy(s, str.data(), str.length());
}
static void fromCP936ToUTF8(char* s)
{
auto str = PotConv::cp936toutf8(s);
memcpy(s, str.data(), str.length());
}
static std::string to_read(const std::string& src);
private:
std::map<std::string, iconv_t> cds_;
static PotConv potconv_;
static iconv_t createcd(const char* from, const char* to);
};
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/chen-yiqi-duke/mlcc.git
git@gitee.com:chen-yiqi-duke/mlcc.git
chen-yiqi-duke
mlcc
mlcc
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385