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

总结一下最近的知识盲区(个人笔记)

1、vs编译出现xxx\zcopy\common\gmssl_use.h : warning C4828: 文件包含在偏移 0x1a1 处开始的字符,该字符在当前源字符集中无效(代码页 65001)

说明源文件 gmssl_use.h 在偏移 0x1a1 位置包含一个非法字符,该字符在你当前的源代码页(65001,也就是 UTF-8)中无效,可能会导致编译问题。

常见原因:

  1. 源文件中含有非 UTF-8 合法字符(例如拷贝进来的中文注释或特殊符号)。

  2. 源文件实际是用其他编码格式保存的(如 GBK、ANSI、UTF-16)而不是 UTF-8。

  3. 某些编辑器保存文件时带了 BOM 或没有按 UTF-8 保存。


解决方案:

✅ 方法一:将文件重新保存为 UTF-8 编码(无 BOM)

使用 Visual Studio 或其他文本编辑器打开该文件,并:

  • 在 Visual Studio 中:

    • 打开 gmssl_use.h

    • 点击菜单 文件 > 另存为

    • 点击右下角的下拉箭头旁的“保存”按钮 > 选择“使用编码另存为”

    • 选择 UTF-8 无 BOMUTF-8,有一个代码页65001就是了。

  • 或者使用 Notepad++:

    • 打开文件

    • 菜单栏选择:编码 > 转换为 UTF-8(无 BOM)

    • 保存文件

✅ 方法二:清理非法字符

可以跳转到警告中说的偏移位置 0x1a1(即 417 字节),在编辑器中查看这一行可能有哪些特殊字符或乱码,手动清理或替换。

✅ 方法三:修改项目设置使用正确的代码页

如果必须使用某种非 UTF-8 编码(如 GBK),可以在 Visual Studio 中设置:

  • 项目属性 > C/C++ > 高级 > 源文件编码

  • 设置为对应的代码页(如 936 表示 GBK)

不过更推荐统一使用 UTF-8 作为编码方式。

2、g_base64 加密后数据长度变么?

是的,Base64 加密(准确说叫编码)后,数据长度一定会变长。📈
并且它有一套非常固定的规则!


✨ 详细规则是:

  • 原数据每3个字节,编码成4个字符

  • 如果数据不是3的倍数,后面会用=补齐。


📐 公式总结:

<

相关文章:

  • 抖音热门视频评论数追踪爬虫获取
  • C++ 项目 -- 高并发内存池
  • 数据可视化与分析
  • Elasticsearch知识汇总之ElasticSearch与OpenSearch比较
  • 第二章:langchain文本向量化(embed)搭建与详细教程-本地服务方式(下)
  • OpenGl实战笔记(3)基于qt5.15.2+mingw64+opengl实现光照变化效果
  • PyCharm 加载不了 conda 虚拟环境,不存在的
  • ChatGPT对话导出工具-轻松提取聊天记录导出至本地[特殊字符]安装指南
  • YOLO 从入门到精通学习指南
  • ai大模型学习1
  • Java面试全栈解析:Spring Boot、Kafka与Redis实战揭秘
  • 干货分享|检索增强生成技术RAG:向量化与大模型的结合
  • 使用batch脚本调用另一个batch脚本遇到的问题
  • uniapp app 端获取陀螺仪数据的实现攻略
  • 代理式AI(Agentic AI):2025年企业AI转型的催化剂
  • 分割回文串例题-区分组合回溯与最优动态规划
  • Transformer中的三种注意力机制
  • react-14defaultValue(仅在首次渲染时生效)和value(受 React 状态控制)
  • 如何解决Kafka集群中Broker磁盘IO瓶颈?
  • 数智管理学(七)
  • 创历史同期新高!“五一”假期全国快递揽投超48亿件
  • 践行自由贸易主义理念,加快区域合作进程
  • 杨德龙:取得长期投资胜利法宝,是像巴菲特一样践行价值投资
  • 热点问答丨新加坡人民行动党缘何再赢议会选举
  • 青海大学常务副校长(正厅级)任延明已任省卫健委党组书记
  • 17家A股城商行一季报扫描:青岛银行营收增速领跑,杭州银行净利增速领跑