我需要将四位数字符串拆分为两个十六进制数字。
例如: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')”
行答案 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