处理化学SDF文件出现乱码的解决经验

近期,在VS2019中用WTL编写一个处理化学SDF文件的程序,遇到多处数据出现乱码的问题,典型一处情况如下:
在原始SDF文件的一个字段中,有个形如下面的文字信息:

https://product.pharmablock.com/Home/ProductInfo?cas=PB113000-01
4-(aminomethyl)-1λ⁶-thiane-1,1-dione hydrochloride

读取后,保存到输出SDF文件后,该字段信息出现如下多种形式的乱码,导致读取文件前后内容不一致:

https://product.pharmablock.com/Home/ProductInfo?cas=PB113000-01
4-(aminomethyl)-1λ�?thiane-1,1-dione hydrochloride
4-(aminomethyl)-1��??thiane-1,1-dione hydrochloride
4-(aminomethyl)-1λ�thiane-1,1-dione hydrochloride
4-(aminomethyl)-1??a??-thiane-1,1-dione hydrochloride

经多方查找分析,确定是在UNICODE编程环境中将string格式字符串转换为CString格式后时出现乱码的。
为解决string转CString后乱码,将工程中除了必须使用CString的代码外,全部改为直接使用std的string。
编译运行成功,读文件前后内容完全一致,成功解决乱码问题。

 


posted on   patton88  阅读(197)  评论(0编辑  收藏  举报

编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示