Hexts สามเท่าเช่น#ffffff
(สีขาว) หรือ#3764ef
(สีน้ำเงิน) มักใช้เพื่อแสดงสี RGB พวกเขาประกอบด้วย#
ตามด้วยเลขฐานสิบหกหกหลัก (0-f) หรือบางครั้งตัวเลขสามหลักที่สีจริงจะได้รับโดยสองเท่าแต่ละหลัก ยกตัวอย่างเช่น#fff
เป็น#ffffff
และเป็น#1a8
#11aa88
น่าเศร้าที่จดชวเลขสามหลักคือ golfiest อินเทอร์เน็ตมีการเสนอจนถึงขณะนี้
เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้สตริง 1 ถึง 7 ตัวอักษร:
#
ตัวอักษรตัวแรกจะเป็น- ตัวละครอื่น ๆ
0123456789abcdef
จะเป็นตัวเลขฐานสิบหก:
อินพุตเป็นรูปแบบชวเลขของ hex triplet (หรือแบบเต็มหากกำหนดอักขระ 7 ตัว) คุณจำเป็นต้องแสดงเอาต์พุต triplet hex แบบเต็มที่ขยายชวเลขอินพุตโดยยึดตามรูปแบบเหล่านี้:
Input -> Output
# -> #000000 (black)
#U -> #UUUUUU
#UV -> #UVUVUV
#UVW -> #UUVVWW (usual 3-digit shorthand)
#UVWX -> #UXVXWX
#UVWXY -> #UVWXYY
#UVWXYZ -> #UVWXYZ (not shorthand)
แต่ละU
, V
, W
, X
, Y
และZ
อาจจะเป็นเลขฐานสิบหกหลักใด ๆ เอาต์พุตจะมี 7 ตัวอักษรเสมอ
ตัวอย่างเช่น:
Input -> Output
# -> #000000
#0 -> #000000
#4 -> #444444
#f -> #ffffff
#a1 -> #a1a1a1
#0f -> #0f0f0f
#99 -> #999999
#1a8 -> #11aa88
#223 -> #222233
#fff -> #ffffff
#1230 -> #102030
#d767 -> #d77767
#bbb5 -> #b5b5b5
#aabbc -> #aabbcc
#00000 -> #000000
#3764e -> #3764ee
#3764ef -> #3764ef
#123456 -> #123456
#f8f8f8 -> #f8f8f8
หมายเหตุ
อินพุตจะเริ่มต้นด้วย
#
และจะต้องมีเอาต์พุตคุณอาจจะถือว่าตัวอักษรทั้งหมดเป็นตัวพิมพ์เล็ก (
abcdef
) หรือตัวพิมพ์ใหญ่ (ABCDEF
) ตามที่คุณต้องการตัวอักษรในผลลัพธ์อาจเป็นได้ทั้งสองกรณีตามที่คุณต้องการ คุณสามารถผสมเคสได้
อัลฟ่า / ความโปร่งใสไม่ได้รับการจัดการที่นี่ (แม้ว่าจะมีรุ่น RGBA สีฐานสิบหก)
รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ
#UVWXY -> #UVWXYY
รายการเพราะอนุญาตให้มีการแสดงค่าเดียวสำหรับช่องสีฟ้า แต่ไม่มีการแสดงออกที่คล้ายกันสำหรับสีแดงและสีเขียว (เช่นถ้าฉันต้องการ#889071
ฉันไม่สามารถย่อ แต่#907188
สามารถ ... ตาม#90718
) คนอื่น ๆ ทำงานได้ดีมาก
#UVWX -> #UXVXWX
ที่หนึ่งและ มันเป็นเช่นนั้นไม่สอดคล้องกันและพฤติกรรมพลว่ามันเป็นเรื่องยากที่จะเชื่อว่ามีไม่ได้เป็นคู่ของเบราว์เซอร์ที่เป็นจริงในปัจจุบันใช้มัน
#RGBA
และ#RRGGBBAA
ดังนั้น # 1234 ควรอ่านเป็นrgba(17, 34, 51, 0.25)