这几天在找办法用C/C++获取网页内容,这样我就可以提取关键字然后干些什么,能干什么还没想好,但好处必须多。。。
用curl获取的网页源码,是UTF-8的,保存以后,从控制台输出,是一堆乱码

比如原文件:

控制台输出就是这样:

看得出来中文没了- -,没中文怎么破,只有转码了,可以用 WideCharToMultiByte()函数:

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{FILE *p, *p2;TCHAR before[100];char *Buf = NULL;int BufLen;p = _wfopen(TEXT("D:\\test.txt"), TEXT("rt+,ccs=UTF-8"));p2 = fopen("D:\\temp2.txt", "w+");printf_s("开始转换......\n");while (!feof(p)){fgetws(before, 100, p);BufLen = WideCharToMultiByte(CP_ACP, 0, before, -1, NULL, 0, NULL, NULL);Buf = (char *)calloc(BufLen, sizeof(char));WideCharToMultiByte(CP_ACP, 0, before, -1, Buf, BufLen, NULL, NULL);fputs(Buf, p2);printf_s("%s\n", Buf);}fclose(p);fclose(p2);return 0;
}

UTF-8转ASCII相关推荐

  1. Mojibakes来自哪里? 编码要点

    This article explores the basic concepts behind character encoding and then takes a dive deeper into ...

  2. 收集并简单清洗网页数据

    1.数据的初步爬取 2.准备 Python中一般使用UTF-8编码格式 ·ascii码的使用 ·gbk(转换为字节码以计算机可以理解的方式进行存储) b':字节码 \x:以十六进制存放 ba\xba ...

  3. ASCII Unicode GBK UTF的联系

    快下班时,爱问问题的小朋友Nico又问了一个问题: "sqlserver里面有char和nchar,那个n据说是指unicode的数据,这个是什么意思." 并不是所有简单的问题都很 ...

  4. 字符集ASCII、GBK、UNICODE、UTF在储存字符时的区别

    ASCII编码(American Standard Code for Information Interchange,美国信息互换标准代码),使用127个8进制字节表示英文和半角字符. GBK (Gu ...

  5. 字符集、字符编码、国际化、本地化简要总结(UNICODE/UTF/ASCII/GB2312/GBK/GB18030)

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 环境说明   普通的linux 和 普通的windows.    ...

  6. ASCII,UTF,GBK 是什么

    原文地址: https://www.cnblogs.com/gavin-num1/p/5170247.html 一.编码历史与区别 一直对字符的各种编码方式懵懵懂懂,什么ANSI UNICODE UT ...

  7. UTF、Unicode、ASCII及中文编码

    一.Unicode缘起 Unicode是一种字符编码规范 . 1.国际标准ASCII编码 先从ASCII说起.ASCII是用来表示英文字符的一种编码规范,每个ASCII字符占用1个字节(8bits)  ...

  8. utf 8转ansi乱码_为什么#AskObama推文在屏幕上显示乱码:了解您的UTF-8,Unicode,ASCII和ANSI解码主席先生

    utf 8转ansi乱码 UPDATE: The contractor/vendor that made the software commented on Hacker News with more ...

  9. Unity中获取字符串长度、Unicode字符数量和编码ASCII,UTF,GBK的区别

    1.String.Length,String.ToCharArray,StringInfo,Encoding.UTF8.GetByteCount的区别: String.Length:获取的是字符串中C ...

  10. ASCII、Unicode、GBK和UTF-8字符编码的区别联系

    一直对编码这块晕晕乎乎,今天终于看到一篇写的很清楚也很风趣的文章,转过来mark一下. 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物.他们看到8个开关状 ...

最新文章

  1. 用存储过程实现数据分页
  2. 如何提高自己的思维逻辑能力?
  3. 安装ORACLE 11G R2 +redhat es4遇到的问题
  4. 2020年10月21日 星期三 工作日志
  5. python层次聚类法画图_Python实现简单层次聚类算法以及可视化
  6. Java LinkedList void add(int index,Object o)方法,带示例
  7. Deeplink(深度链接)唤起App,怎样实现无缝跳转
  8. ASP.NET 2.0中的Session状态丢失的解决办法
  9. mysql text 函数的使用方法_MySQL空间数据操作:GeomFromText()和astext()函数报错解决...
  10. Android 编辑中的快捷键
  11. pyclewn调试带参数程序
  12. python入门指南txt-BeginnersGuide
  13. python源码_Python爬虫入门之获取网页源码
  14. OSI参考模型(1)
  15. docker--强制删除none的image镜像
  16. 【转】.NET对象序列化2
  17. Atitit.跨语言  文件夹与文件的io操作集合  草案
  18. 用粉红噪声煲机_解析什么是白噪和粉噪?耳机煲机用白噪好还是粉噪
  19. win10启用php_zip,win10右键没有压缩文件选项怎么办
  20. 通过路由器端口映射实现外网IP访问内网服务器

热门文章

  1. el-upload使用自定义上传,获取上传进度和上传成功回调
  2. luna16肺部CT数据集预处理(根据标注信息生成掩膜)
  3. 江苏大学公交系统(数据结构与算法课设版C++)
  4. 博客园的最后一篇博文,还是要离开了(附带个人博客源码分享)
  5. upper_bound()函数的使用
  6. 在form2中调用form1中的方法并改变form1中控件值的另一种方法
  7. 基于java的自动排课系统-计算机毕业设计
  8. 某程序员求助:简历上美化过往经历,把外包写成正编,入职会不会被发现?
  9. linux 浏览器缓存目录在哪里找,火狐浏览器缓存文件在哪里
  10. 大型商贸系统(进货管理)技术解析(四)自营无订单进仓单