在Javascript中,是否有一种方法可以使十六进制颜色的按位补码始终返回6个字符串?
例如,('0xff0537' ^ '0xffffff').toString(16)
生成一个4个字符的字符串'fac8'
。
但是,('0x00adeb' ^ '0xffffff').toString(16)
返回一个6个字符的字符串'ff5214'
您可以通过添加前导1,转换为字符串,最后删除第一个字符,使其始终为7个字符,使其再次为6。
> (1<<24 | '0xff0537' ^ '0xffffff').toString(16).substring(1)
'00fac8'
我最终这样解决了这个问题:
return ('000000' + (('0xffffff' ^ '0x00adeb').toString(16))).slice(-6);