当前位置: 首页 > news >正文

C++ 判断文件的编码类型

大多数文本编辑器,都会在文本文件的头部插入一部分特殊的字节,用于辅助文本编辑器来判断该文件的字符集编码类型。

如:记事本

目前支持的字符集类型,通常为三种:

Unicode、UTF8、UnicodeBIG、CP_ACP(默认编码,简体中文一般为:GBK)

        int File::GetEncoding(const void* p, int length, int& offset) noexcept {offset = 0;if (NULL == p || length < 3) {return ppp::text::Encoding::ASCII;}// byte[] Unicode = new byte[] { 0xFF, 0xFE, 0x41 };// byte[] UnicodeBIG = new byte[] { 0xFE, 0xFF, 0x00 };// byte[] UTF8 = new byte[] { 0xEF, 0xBB, 0xBF }; // BOMconst Byte* s = (Byte*)p;if (s[0] == 0xEF && s[1] == 0xBB && s[2] == 0xBF) {offset += 3;return ppp::text::Encoding::UTF8;}elif(s[0] == 0xFE && s[1] == 0xFF && s[2] == 0x00) {offset += 3;return ppp::text::Encoding::BigEndianUnicode;}elif(s[0] == 0xFF && s[1] == 0xFE && s[2] == 0x41) {offset += 3;return ppp::text::Encoding::Unicode;}else {return ppp::text::Encoding::ASCII;}}

相关文章:

  • 如何选择适合团队的项目管理工具
  • 【AI News | 20250529】每日AI进展
  • 人工智能-训练AI模型涉及多个步骤
  • 从Homebrew找到openssl.cnf文件并拷贝到Go项目下使用
  • NC52 有效括号序列【牛客网】
  • [9-2] USART串口外设 江协科技学习笔记(9个知识点)
  • 每日算法-250529
  • 车载摄像头选型相关
  • 自定义异常小练习
  • QSS 使用方式介绍
  • cf2067A
  • 一个开源脚本,可自动安装在 AMD Radeon 7900XTX 上运行选定 AI 接口所需的所有内容
  • 大数据治理体系构建与实践路径
  • 文科小白学习Linux系统之安全管理
  • Debian:自由操作系统的精神图腾与技术基石
  • 12:遨博机器人开发
  • K6 是什么
  • 变量的计算
  • 25 字符数组与字符串及多维数组详解:定义与初始化、访问与遍历、%s 格式符、内存剖析、编程实战
  • 2025.5.26【ZR NOI模拟赛 T2】草莓函数 题解(性质,二分图最大权匹配)
  • wordpress 后台速度慢/怎么做神马搜索排名seo
  • 关于做营销型网站的建议/全网
  • 麻城网站建设/百度推广一年收费标准
  • 用asp做网站的流程/it培训机构排行榜
  • 怎么做网站接家纺订单/百度竞价推广课程
  • 网站建设要准备什么/关键词优化公司