字符串到十六进制转换 - Python - ValueError:无效的转换规范

时间:2017-11-16 10:20:20

标签: python type-conversion

我需要将四位数字符串拆分为两个十六进制数字。

例如:string =“ABCD” 预期输出= 0xAB 0xCD

我试过这些陈述:

>>data = "0000"
>>[byte1, byte2] = [data[:2], data[2:]]
>>byteInt = int(byte1,16)
>>byteHex = format(byteInt,'0#4x')
>>print byteHex

我收到错误,“ValueError:无效的转换规范”在“byteHex = format(byteInt,'0#4x')”

1 个答案:

答案 0 :(得分:1)

由于您未指定任何对齐,因此不需要格式规范中的前导零:

  

export default context => { return app({cookies: context.cookie}) .then(({app, router, store}) => { return new Promise((resolve, reject) => { router.push(context.url); router.onReady(() => { const matchedComponents = router.getMatchedComponents(); if (!matchedComponents.length) { return reject({code: 404}) } Promise.all(matchedComponents.map(Component => { if (Component.asyncData) { return Component.asyncData({ store, route: router.currentRoute }) } })).then(() => { context.state = store.getState(); context.meta = app.$meta(); resolve(app) }).catch(reject) }, reject) }) }) }

format_spec ::= [[fill]align][sign][#][0][width][,][.precision][type]取决于对齐方式:

fill

要在格式规范中使用可选的>>> byteHex = format(byteInt,'#4x') >>> byteHex ' 0x0' ,您应指定一个对齐方式:

fill