小编Sir*_*r D的帖子

如何在Python中将十六进制转换为十进制?

我有一些Perl代码,其中hex()函数将十六进制数据转换为十进制.我怎么能在Python上做到这一点?

python hex decimal

109
推荐指数
3
解决办法
27万
查看次数

在Python中解压缩格式字符

我需要这个Perl字符串的Python模拟:

unpack("nNccH*", string_val)
Run Code Online (Sandbox Code Playgroud)

我需要nNccH*Python格式字符的数据格式.

在Perl中,它将二进制数据解压缩为五个变量:

  • "网络"中的16位值(big-endian)
  • "网络"中的32位值(big-endian)
  • 有符号的char(8位整数)值
  • 有符号的char(8位整数)值
  • 十六进制字符串,首先是高位半字节

但我不能用Python做到这一点

更多:

bstring = ''
while DataByte = client[0].recv(1):
    bstring += DataByte
print len(bstring)
if len(bstring):
    a, b, c, d, e = unpack("nNccH*", bstring)
Run Code Online (Sandbox Code Playgroud)

我从未用Perl或Python编写过,但我目前的任务是编写一个用Perl编写的多线程Python服务器...

python perl unpack

4
推荐指数
2
解决办法
3533
查看次数

python中的perl hex()模拟

perl hex()在python中的模拟怎么样?
我有下一个perl代码:

my $Lon = substr($Hexline,16,8);
say $output_f "Lon: " . hex($Lon) . "";
Run Code Online (Sandbox Code Playgroud)

哪里$Hexline有"6a48f82d8e828ce82b82 ..."格式

我试试python

Lon = int(Hexline[16:24], 16)
f.write('lon = %s' % str(Lon)+'\n')
Run Code Online (Sandbox Code Playgroud)

这样对吗?

编辑:在perl的情况下,hex()给我一个十进制值.

python perl hex

4
推荐指数
1
解决办法
284
查看次数

逐字节读取套接字数据并作为字符串返回

我需要逐字节地从套接字读取数据.我尝试使用此代码:

lineF = ''
for DataByte in client[0].recv(1):
    lineF += DataByte
Run Code Online (Sandbox Code Playgroud)

结果lineF必须是数据字符串.

python sockets

2
推荐指数
1
解决办法
4690
查看次数

将JSON字符串转换为数组

我有这个JSON字符串

{"ticker":{"high":736.45099,"low":681,"avg":708.725495,"vol":13038780.63684,"vol_cur":18382.55965,"last":726,"buy":726,"sell":724.5,"updated":1388242741,"server_time":1388242743}}
Run Code Online (Sandbox Code Playgroud)

在做完之后如何获得" 最后 "参数json_decode()

php arrays json function

1
推荐指数
1
解决办法
81
查看次数

获取十六进制字符串的一部分

我有这个代码:
Hexline - 十六进制字符串(080a00000135627c43784...等)

Date = Hexline[:16]
Prio = Hexline[16:2]
Date = "0x"+Date
DecDate = long(Date, 16)
print 'date = %s' % DecDate
print 'prio = %s' % int(Prio, 16)
Run Code Online (Sandbox Code Playgroud)
  1. 我得到前 16 个符号并将其转换为 BigInt
  2. 我需要从“Hexline”获取“Date”之后的下两个符号并将其转换为十进制。

但是在第 2 步中,我得到了“int() 的无效文字,基数为 16 ''”错误。(Prio = '')
怎么了?

python hex

0
推荐指数
1
解决办法
553
查看次数

MySQL查询优化.许多SELECT + INNER JOIN

我有下一个表结构:游戏 - 包含基本游戏信息(体育赛事),投注 - 投注变化(团队胜利,团队b胜等),投票 - 用户选择投注变化.

下一个查询显示所有未开始游戏的所有最后投注变化的列表.如果当前用户对其进行了投票,则列表中的某些投注也会包含一些信息.

用于下次检测插入选择:1 - 是用户已经投给了这个赌?2 - 获取用户的choise(是\否),3 - 获取用户的投票量.

SELECT bets.*, games.Time, games.TA, games.TB, 
  (SELECT COUNT(*) FROM votes WHERE BID=bets.BID AND UID=$UserID) AS Vt, 
  (SELECT YN FROM votes WHERE BID=bets.BID AND UID=$UserID) AS yn,
  (SELECT Pt FROM votes WHERE BID=bets.BID AND UID=$UserID) AS Pt
FROM bets
LEFT JOIN games ON games.GID = bets.GID
WHERE games.Yes=0 AND bets.Dl=0
ORDER BY bets.Time DESC
Run Code Online (Sandbox Code Playgroud)

我该如何优化它?如何在一个查询中获得votes.YN和votes.Pt?

mysql select

0
推荐指数
1
解决办法
82
查看次数

标签 统计

python ×5

hex ×3

perl ×2

arrays ×1

decimal ×1

function ×1

json ×1

mysql ×1

php ×1

select ×1

sockets ×1

unpack ×1