c - 如何使用 c 对带有代码页的字符数组进行编码
问题描述
我在 C 中有 char 数组,我从二进制文件中读取,我想用特定的代码页进行编码
例如我想用 1252 代码页编码这个 char *
char myArray[] = { 0xa0, 0x90, 0x91, 0x96, 0xb0 };
结果需要是{ 0xa0, 0x90, 0x3F, 0x3F, 0xb0 }
我知道widechartomultibyte
可以做到这一点,但它需要得到一个宽字符(如00a0,0090,0091,0096,00b0
),而我只有 char * 而不是宽字符。
我也许可以将 c* 转换为宽字符,MultiByteToWideChar
然后使用widechartomultibyte
,但是当我这样做时,它会损坏编码,并且转换两次看起来很奇怪。
那么如何在 Windows 中使用 c 中的特定代码页对 char * 进行编码?
解决方案
推荐阅读
- c# - Xamarin ADAL AcquireTokenAsync 不返回结果!OnActivityResult 被击中
- batch-file - 是否可以使用批处理隐藏 Windows 复制文件窗口?
- wordpress - 如何找出父主题的 style.css $handle
- angular - 如何从常规打字稿类(非组件)调用角度 2+ 服务
- reactjs - 如何摆脱“必须使用重组道具”作业
- javascript - 为什么 JS 增量速记不起作用
- ruby-on-rails - PaperTrail 更新模型时不更新元字段
- git - 如果在拉/推时我没有看到任何冲突,Git 如何覆盖过去提交的更改?
- excel - 尝试通过 WinHttp.WinHttpRequest.5.1 下载不受信任的证书文件时使用站点变量
- python - 条件互信息