Javascript 十六进制颜色代码的位补码是否总是返回6个字符?
在Javascript中,是否有方法使十六进制颜色的位补码始终返回6个字符的字符串 例如,Javascript 十六进制颜色代码的位补码是否总是返回6个字符?,javascript,hex,bit-manipulation,xor,bitwise-xor,Javascript,Hex,Bit Manipulation,Xor,Bitwise Xor,在Javascript中,是否有方法使十六进制颜色的位补码始终返回6个字符的字符串 例如,('0xff0537'^'0xffffff')。toString(16)生成一个4个字符的字符串,该字符串包含'fac8' 但是,a('0x00adeb'^'0xffffff')。toString(16)返回一个6个字符的字符串,该字符串为'ff5214',您可以通过添加前导1,将其转换为字符串,最后删除第一个字符,使其再次变为6个字符。这将保留前导零 > (1<<24 | '0xff05
('0xff0537'^'0xffffff')。toString(16)
生成一个4个字符的字符串,该字符串包含'fac8'
但是,a
('0x00adeb'^'0xffffff')。toString(16)
返回一个6个字符的字符串,该字符串为'ff5214'
,您可以通过添加前导1,将其转换为字符串,最后删除第一个字符,使其再次变为6个字符。这将保留前导零
> (1<<24 | '0xff0537' ^ '0xffffff').toString(16).substring(1)
'00fac8'
>(1我最终解决了这个问题:
return ('000000' + (('0xffffff' ^ '0x00adeb').toString(16))).slice(-6);