中文的编码显示常常是一个让人头痛的问题,网络传输的时候中文也会变成二进制的流,接收方显示就成了一个大问题。

今天使用python的struct模块来对数据封包解包,同样有这个问题。解决方法是:一般会把python代码文件声明为utf-8编码,这样可以直接在里面写中文。正常封包,接收的数据使用utf-8解包,要打印出中文字符,可以使用unicode操作。举例如下

1 # -*- coding: utf-8 -*-
2 import struct
3 s = '哈哈'
4 print s, len(s)
5 sp = struct.pack('=6s', s)
6 print sp
7 dp = struct.unpack('=6s', sp)
8 print dp, dp[0], type(dp[0]), len(dp[0]), str(dp[0]), len(str(dp[0]))
9 print unicode(dp[0], 'utf-8')

相应的输出如下

转载于:https://www.cnblogs.com/njucslzh/archive/2012/09/06/2674182.html

struct发送与显示中文相关推荐

  1. linux安装Wine版微信(正常显示中文,可以发送文件)

    在linux安装微信首推electronic-wechat版微信,该版微信是基于微信网页版做的.安装简单,功能也齐全. 但有些微信账号被安全保护了,登录不了微信网页版,所以用不了electronic- ...

  2. php发送邮件,标题是乱码,php的mail函数发送UTF-8编码中文邮件时标题乱码怎么办?...

    php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法:1.将subject里头的文字符合RFC 2047的规范:2.在headers中添加[content-type]:3.对用来发送邮件 ...

  3. create显示中文乱码 qt_Ubuntu下Qt串口助手接收中文乱码问题

    问题描述: 在ubuntu中用Qt开发的串口助手,在接收单片机(STM32 F103)发来的中文时,出现乱码情况. 接收中文乱码 问题已解决,感谢Qt交流qq群中的各位大佬. 解决思路: 可以检查一下 ...

  4. Unity面板显示中文属性

    虽然对于程序来说,一般习惯用英文命名,但有时身在公司,总是需要和策划协作的,他们可能看不懂一些英文变量,所以为了方便交流,我抽空研究了下Unity属性面板中文化的问题. 有两种方法可以实现中文属性名: ...

  5. ESP32 IDF LVGL8.0 flash 外部字库显示 中文显示

    我从stm32一路学到esp32,发现这款芯片挺好玩的,主要是还是stm32太贵了,stm32主要是很多坑有人遇到了,并给出了解决方法,esp32这方面就少点,有时候找不到的,只能靠自己了. 本文使用 ...

  6. littlevgl 6.0 外部spiflash 显示中文

    I.简介 littlevgl 6.0 显示中文,从查找的资料来看,一种利用内部flash,通过官方工具或网友制作的工具,生成.C文件放到内部编译,在声明下,就可以显示中文.这种方法只是用少量字体,毕竟 ...

  7. window系统mysql无法输入和无法显示中文的处理配置

    第一步:使用记事本打开mysql安装目录下的"my.ini"文件. # MySQL client library initialization. [client] port=330 ...

  8. python图像中如何显示中文

    python图像中如何显示中文 在开头加入这两行即可 from pylab import * mpl.rcParams['font.sans-serif'] = ['SimHei']

  9. hbase shell编码显示中文

    最近测试hbase shell,碰到个中文显示编码问题,最后通过Python解决了问题,具体操作如下: hbase(main):015:0* scan 'fr_test_hbase:test_log1 ...

最新文章

  1. java xml 查询_Java DOM解析器 - 查询XML文档
  2. CSS选择器详细介绍
  3. QT的QSoundEffect类的使用
  4. 思维+multiset ZOJ Monthly, July 2015 - H Twelves Monkeys
  5. 数据库技术基础:查询优化相关知识笔记
  6. formSelects-v4.js 基于Layui的多选解决方案
  7. 光敏电阻控制led亮度程序_单片机开发系统学习LED亮度控制原理
  8. 鼓励生娃!携程创始人梁建章:生1个孩子应重奖100万
  9. slowfast 跑多卡的时候遇到问题
  10. python开发网络程序教程_python3编写C/S网络程序实例教程
  11. 中国数控机床行业市场竞争态势及投资战略规划报告2022-2028年版
  12. 微信撤回软件安卓版_微信强制撤回软件下载-微信强制撤回消息工具(不限时间) v1.0安卓版_5577安卓网...
  13. 输入一个三位数,分别输出他的个位十位百位
  14. mysql can t drop_异常之 mysql Can't drop database 'drop_database'; database doesn't exist
  15. 钉钉 服务器 消息推送,【20210727 更新】 全能推送PushBot(原钉钉推送)支持企业微信,PushPlus,Bark...
  16. git提示subject >50 characters; use shorter first paragraph
  17. C#和Java练习题--坐标求夹角
  18. 分子反应动力学有哪些最新发表的毕业论文呢?
  19. 苹果发布2019款iPad mini/Air:配A12芯片支持手写笔
  20. 旅游网站大数据分析 - 数据存储

热门文章

  1. 我是“真正的”软件工程师吗?
  2. varnish 实现 CDN 缓存系统构建
  3. 数据通信技术(九:OSPF特殊区域配置(Cisco))
  4. mysql查询解析过程_MySQL查询执行过程详解
  5. 1055 The World‘s Richest
  6. (C++)1028 人口普查
  7. (C++)设计一个程序能计算一个日期加上若干天后是什么日期and计算日期差值
  8. django框架的基础知识点《贰》
  9. Sqli-labs less 9
  10. php学习,一个简单的Calendar(2) 一个简单的活动页面