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

自己有网站怎么做竞价医疗网站建设多少钱

自己有网站怎么做竞价,医疗网站建设多少钱,移动端电商网站,深圳市盐田区建设局网站在项目开发中#xff0c;经常会遇到文本编码问题。文本编码知识非常基础#xff0c;但对于新手来说#xff0c;可能需要花费较长的时间去尝试#xff0c;才能在脑海中建立对编码的正确认知。文本编码原理并不难#xff0c;难的是在项目实践中掌握正确处理文本编码的方法。…在项目开发中经常会遇到文本编码问题。文本编码知识非常基础但对于新手来说可能需要花费较长的时间去尝试才能在脑海中建立对编码的正确认知。文本编码原理并不难难的是在项目实践中掌握正确处理文本编码的方法。本文从项目实践出发总结了项目中编码处理的相关经验希望可以帮助基础比较薄弱的同学快速建立对编码的基本认知同时减少实际项目中踩坑的几率。 1. 从不同的视角看数据 1.1 计算机最底层视角 从计算机最底层的视角看计算机中的数据不管是寄存器中的数据还是内存中的数据还是磁盘上的文件数据都是以0和1的二进制格式存放的。所以一般在说二进制数据时候是从计算机最底层的视角而言的。 1.2 计算机应用视角 应用程序处理计算机中的数据时只有遵循数据创建者对数据格式的约定对数据进行处理才能正确提取出文件内容创建者所想要表达的信息。 文件创建者通常使用文件后缀名来标明文件内容格式。常见的文件格式后缀名有.jpg、.txt、.mp4 等。 处理数据时是否遵循数据格式约定完全由应用程序决定程序认为它是什么格式就可以以什么格式对数据进行处理。如果使用和约定不一致的格式处理数据那么从数据中提取出的信息极有可能是混乱的、无用的。例如使用文本编辑器打开一张图像最终文本编辑器的显示内容将是一堆乱码无法阅读。实际项目中文本出现乱码问题也是这个原因。 2. 文本乱码问题分析 2.1 文本编码简介 对世界上所有符号、文字进行编号产生一张字符表这个表叫做“字符集”。这样一来我们可以使用数字编号来表示字符每个编号占用相同的字节数。因为世界上的字符很多一般使用32位的无符号整型存储编号总计大约可以表示42亿种字符。目前通用的字符集是Unicode字符集。 字符集中有的字符使用频繁有的字符使用不频繁使用相同字节长度的数字编号会有些浪费存储空间。改进的存储方案类似于哈夫曼编码将使用频繁的字符用更少的字节数表示使用不频繁的字符用较长的字节数表示。经过优化的存储方式叫做“文本编码”。 文本有很多种编码格式如GBKGB18030UTF-8等等目前最常用的文本编码格式是UTF-8。编码的具体实现不是本文的主要内容所以不作展开。 2.1 文本乱码原因 由于计算机最早由老外发明所以各种文本编码格式对英文的兼容性最好所以英文通常不会乱码。而同一个中文汉字用不同的文本编码格式进行编码后对应的二进制数据是不同的。反过来同一段文本数据使用不同的编码进行文本解码则会解析出来截然不同的文本内容。 总的来说文本乱码有两个原因 一段数据本身就不是文本数据可能是图像数据也可能是视频数据等非文本类型的数据如果将其视作文本进行解码必然会导致乱码。我们编写的应用程序没有采用正确的文本编码格式对文本数据进行解码导致输出的文本就会出现严重混乱即乱码进而导致程序处理结果偏离预期出现错误。 2.2 文本乱码的处理思路 根据文本乱码的原因我们在遇到乱码问题时需要对以下问题进行排查 检查文本数据的产生、存储、传输过程是否出错尝试与文本内容提供者核对双方文本编码格式是否一致。尝试猜测文本编码这种方法不是很可靠但值得一试。 2.3 Qt对文本编码的处理支持 Qt提供了很多关于文本编码解码的函数及类接口。如下所示 接口说明QString::fromXXX()系列QString的静态函数如QString::fromLocal8BitQString::fromUtf8QString::fromLatin1等提供了常用的文本解码接口。解码出来的结果统一为UTF-16编码格式保存在QString缓冲区中。QString::toXXX()系列QString的静态函数如QString::toLocal8BitQString::toUtf8QString::toLatin1等提供了常用的文本编码接口。编码后的文本数据保存在QByteArray缓冲区中。QTextCodec类提供了更强大的编码转换功能可以通过文本编码名称获取对应的文本编解码器。可以实现各种文本编码之间的编码转换。 这里必须提一下QByteArray和QString的区别。 类型区别QByteArrayQByteArray中的数据仅仅是二进制数据可以把它看作是一个内存区仅此而已。它用于计算机底层视角下的数据存储。可以根据业务需要确定数据格式类型后再进行数据处理。QString存储文本。它用于计算机应用视角下的文本内容存储。QString可直接在界面内容显示、文本信息处理等应用层面使用。 项目中我们通常使用QByteArray缓存获取到的数据。如果确定QByteArray中存储的数据是文本那么下一步需要确定文本的编码格式最后可以使用 QString或QTextCodec提供的文本编码转换接口对其中的数据进行编码转换最终得到QString。反过来我们也可以将QString保存成多种文本编码格式用于保存或传输。 3. 容易出现文本乱码的应用场景 3.1 处理含有中文的文件 当我们读写文本文件时必须使用协商一致的文本编码。否则会导致读取的数据产生严重乱码影响程序稳定性甚至造成严重后果。不管读文件还是写文件都要考虑文本编码问题。 3.2 含有中文的代码文件乱码 使用QtMSVC在Windows上进行开发时经常会遇到代码编译不通过或者程序运行出现乱码的问题。原因是MSVC默认认为源代码是GBK编码。在Qt .pro文件中打开以下编译开关告诉MSVC编译器使用UTF-8格式处理源码文本即可解决 QMAKE_C_FLAGS /utf-8 QMAKE_CXX_FLAGS /utf-83.3 处理含有中文的通信数据 在进行数据通信的时候如果通信协议中包含中文而通信双方又没有对文本编码做出明确约定那么很有可能会出现乱码的问题。解决办法是通信双方通信协议中提前约定好的统一的文本编码一般可以使用UTF-8编码。 4. 总结 牢记只要我们按文本处理数据就要考虑数据格式和文本编码。绝不可忽略文本编码直接进行文本处理。 除Qt开发外在其他软件开发技术中也需要注意文本编码问题。 本文主要讲解了文本编码的相关处理经验和总体逻辑框架。文本编码相关内容很多项目中可能会出现各种各样的问题需要结合本文讲解的总体思路深入问题综合分析。 本文原创发布于 Qt未来工程师。
http://www.hkea.cn/news/14364917/

相关文章:

  • 网站建设人员工作要求湘潭网站设计
  • 淄博网站制作方案徐水住房建设局网站
  • 衡水网站建设公司联系电话公司管理软件用什么好
  • 网站前台模板 html如何创建企业邮箱
  • 肇庆制作企业网站网站设计建设收费标准
  • 大连建设网站哪家好怎么用PS做网站横幅
  • 江阴外贸网站设计重庆网站网络推广
  • 建设网站方式有哪些如何建立网站
  • 如何做好一个企业网站个人主页设计代码
  • 给网站做备案茂县建设局网站
  • 欧美风格企业网站深圳万齐网站建设
  • 安陆做网站多少钱wordpress上传至哪个目录下
  • 网站转移后后台无法登陆成都网站建设司
  • 济南网络招聘北京优化服务
  • 镇江网站建设推广网站开发后服务费
  • 外贸网站建设上海推广效果好的有哪些
  • 网站没有内容可以备案吗中亿丰建设集团股份有限公司网站
  • 双语网站代码外贸网站建设制作
  • 如何在图片上添加文字做网站深圳房管局官网查询系统
  • 做母婴网站赚钱创意餐厅网站建设文案书
  • 网页设计模板网站免费下载奉贤建设机械网站制作
  • 网站验证码怎么做平面广告设计好学吗
  • 淄博网站制作首选专家专业做w7系统的网站
  • 网站设计的任务网站建设流程及规范
  • 外包做网站平台 一分钟包装设计网站排行榜前十名
  • 专业做红木家具网站摄影手机网站模板
  • 温州市网站制作多少钱wordpress标签球形
  • 北京网站建设有哪些ps做网站原形
  • 嘉定网站建设电脑培训怎么建立网站数据库连接
  • 合肥网站建设 微笑互联网站群集约化建设通知