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

品牌建站一般网站用什么技术做的

品牌建站,一般网站用什么技术做的,上海设计师网站有哪些,ai做网站步骤在项目开发中#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/14344365/

相关文章:

  • 做网站运营用什么软件帝国cms做下载网站
  • 南昌公司做网站需要多少钱用阿里云自己建设网站
  • 个人做网站seo网站怎样做移动端适配
  • 工控主机做网站服务器建筑找活网站哪个最好
  • 网站tdk优化百度网站怎样优化排名
  • 自助建站平台怎么制作图片链接
  • 免费帮朋友做网站方案解决网站
  • 汕头网站建站公司漯河市网站建设
  • node.js 网站开发移动端网站建设
  • 海誉网站定制wordpress iis 分页 404
  • 国外外包网站网站建设的潜在客户
  • 南宁武鸣区建设局网站怎么做微信小说网站吗
  • 贵州最好的网站建设推广公司东莞市卫生健康局
  • 营销型网站设计制作东营局域网设计
  • 西安便宜的网站建设什么叫关键词
  • 深圳福田商城网站建设公司网站建设方案书
  • 制作网站首先做的工作网站设计 图片
  • 专业做淘宝网站公司网站的网络营销推广方案
  • 网站换程序 搜索引擎自己做网站运营
  • 株洲市网站建设php网站开发实例教程 源代码
  • 龙中龙网站开发php毕业设计代做网站
  • 免费发布招聘信息的平台有哪些西安seo公司
  • 药业集团网站建设方案大型网站开发技术
  • 俄文手机网站制作网站建设规划设计
  • 淮安网站网站建设wordpress 获取分类列表
  • 网站建设和管理情况调查表宠物网站建设方案书
  • 如何做自己官方网站端网站建设
  • 徐汇网站开发旅游网站系统设计
  • 都昌县建设局网站做网站的名字大全
  • 辽宁省住房和城乡建设厅网站首页科技创业创新心得