2013-07-02 16 views
5

Próbowałem już od jakiegoś czasu wypróbować odpowiedź na pytanie, dlaczego elementy HTML można kompilować w formacie szóstkowym HTML lub HTML. Więc moje pytania są następujące:Dlaczego HTML jest dziesiętny i HTML hex?

  • Jaka jest różnica między polem HTML a hexem HTML?
  • Dlaczego istnieją dwa systemy, które robią to samo?
+0

Istnieją dwa systemy, ponieważ hex jest bardziej naturalny z punktu widzenia niskiego poziomu (każda z 3 wartości jest w zakresie jednobajtowym), a dziesiętna jest bardziej naturalna dla programistów. –

+0

bardziej związane z historią niż praktyczne, i mało konstruktywne. –

+0

Co masz na myśli przez 3 wartości? Jeśli wezmę arabską literę BEH, zapisałbym ją jako dziesiętną: ب lub heks HTML: & # x0628 ;. Tutaj są więcej niż trzy wartości. – kexxcream

Odpowiedz

8

Oryginalnie HTML był nominalnie oparty na SGML, który ma tylko odniesienia dziesiętne. Później szesnastkowa alternatywa to added in HTML 4.01 (i wkrótce zaimplementowana w przeglądarkach), a następnie zmodyfikowana do SGML w Web Adaptations Annex.

Głównym powodem dodania szesnastkowej alternatywy było to, że wszystkie nowoczesne kody znaków i standardy kodowania, takie jak Unicode, używają notacji szesnastkowej dla numerów kodowych znaków. Możliwość odwoływania się do znaku przez jego numer Unicode, zapisany w konwencjonalnej notacji szesnastkowej, poprzedzonej przedrostkiem &#x i przyrostkiem ;, pomaga uniknąć błędów, które mogą powstać, jeśli ludzie dokonają konwersji z zapisu szesnastkowego na dziesiętny.

+0

Dziękuję za wyjaśnienie. Brzmi obiecująco, znasz link, który to szczegółowo opisuje? – kexxcream

0

Istnieją trzy radixes stosowane w technologii komputerowych:

  • Binary Radix 2, ponieważ ostatecznie całkowitymi są tablice przełączników, z których każdy może być na (1) lub wyłączyć (0).
  • Cyfra, podstawa 8, ponieważ każda cyfra reprezentuje dokładnie 3 bity, więc można ją łatwo przekonwertować na format binarny.
  • Dziesiętny, podstawa 10, ponieważ ludzie mają 10 palców i ponieważ dorastaliśmy przy użyciu tej podstawy.
  • Szesnastkowy, podstawa 16, ponieważ podobnie jak ósemkowy, można go łatwo przekonwertować na bity, ale nawet lepiej, ponieważ 2 cyfry heksadecymalne można wyrazić dokładnie 1 bajtem. Jeśli, na przykład, zobaczysz wartość rgba podaną w hexie jako 0x00ff00ff, natychmiast zobaczysz, że reprezentuje ona nieprzejrzysty zielony.

Tak więc, aby odpowiedzieć na postawione pytanie, dla niektórych z nas hex jest naturalnym sposobem wyrażania liczb całkowitych, ponieważ zapewnia lepszy wgląd w pamięć. Dla innych jest dziesiętny. Do każdego swojego!

Wykończenie za pomocą przykładu HTML: może & 65536; być postacią utf-16? Na heksie łatwo zauważyć, że odpowiedź brzmi nie, ponieważ jest taka sama jak & x10000; który potrzebuje więcej niż 16 bitów.

+0

Świetny przykład i dziękuję za odpowiedź. Ale muszę przyznać, że nadal jestem zdezorientowany, jeśli chodzi o używanie języka dziesiętnego i języka heksadecymalnego dla języków. Zobacz mój przykład powyżej w komentarzach. – kexxcream

+0

@kexxcream, skończyłem z przykładem HTML, który może okazać się bardziej odpowiedni. –

Powiązane problemy