2013-01-11 3 views
0

Je lis RFC 4627 (http://www.ietf.org/rfc/rfc4627.txt). Au paragraphe 2.1, il est question de trois noms littéraux vrai, faux, nul.JSON RFC 4627: qu'est-ce que la signification de "false =% x66.61.6c.73.65; false"

 false = %x66.61.6c.73.65 ; false 

    null = %x6e.75.6c.6c  ; null 

    true = %x74.72.75.65  ; true 

Je suis complètement perdu ici. Est-ce que quelqu'un sait ce que% x66.61.6c.73.65 signifie? Merci.

+1

Je pense que ce sont les caractères hexadécimaux pour ces mots. –

+0

Quelqu'un sait d'où vient cette convention? Je n'ai jamais vu quelqu'un écrire hex ou "pseudo-hex" comme '% x77.72.75.65' - je me sens comme' \ x72 \ x77 \ x75 ... 'ou' 0x74727565' ou '0x72 0x72 ... 'est plus commun et compréhensible. Juste curieux, peut-être le formulaire utilisé dans le RFC JSON est ou était-il commun dans le passé? Quelqu'un sait? – Kasapo

Répondre

2

Ce sont les octets utilisés pour ces mots. En bref, le texte doit être codé en ASCII (ou l'équivalent) et aucun autre codage.

>>> print '\x66\x61\x6c\x73\x65' 
false 
+0

UTF-8, pas ASCII; la spécification JSON nécessite une représentation Unicode. –

2

à première vue ces derniers semblent être les codes ascii pour les lettres:

  • false = "f" + "a" + "l" + "s" + "e", par exemple: char (0x65) + char (0x61) + char (0x6c) + char (0x73) + char (0x65)
+0

UTF-8, pas ASCII; la spécification JSON nécessite une représentation Unicode. –

Questions connexes