博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
struct发送与显示中文
阅读量:4633 次
发布时间:2019-06-09

本文共 497 字,大约阅读时间需要 1 分钟。

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

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

1 # -*- coding: utf-8 -*-2 import struct3 s = '哈哈'4 print s, len(s)5 sp = struct.pack('=6s', s)6 print sp7 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

你可能感兴趣的文章
Test Scenarios for Excel Export functionality
查看>>
5月3日上课笔记-XML解析
查看>>
【嵌入式开发】Raspberry Pi 树莓派性能测试
查看>>
【Qt开发】设置Qt应用程序图标
查看>>
CentOS 6.2 安装kdbg
查看>>
libevent源码分析:event_assign、event_new
查看>>
a new start in cnblogs
查看>>
luogu 2216 理想的正方形 单调队列(其实没有DP)
查看>>
在控制台应用程序下,创建窗口,避开WinMain函数入口
查看>>
最大连续子数组和--dp
查看>>
英文词频统计预备,组合数据类型练习
查看>>
缓存整个页面
查看>>
PHP范例注册审核
查看>>
jquery知识简单运用
查看>>
KMP算法练习
查看>>
git
查看>>
特殊变量的处理(一)onehot&dummy
查看>>
打开文件对话框 保存一个txt文件 比较简单用的时候省的搜索了
查看>>
Linux下MySQL5.7.18二进制包安装(无默认配置文件my_default.cnf)
查看>>
mssql手工注入心的
查看>>