j'ai posé la question il y a Transform patterns of code points in a binary 1 heure: je avais besoin de convertir des jeux comme [$a-z]
en binaire comme ceci:octets étranges lors de la conversion des ensembles de points de code en binaire
01 24 // $
00 // interval between 2 code points
61 00 // a
7a 00 // z
Je reçois des ensembles comme [$a-z]
de la UnicodeSet site. Il vous suffit de saisir un motif et de générer un ensemble de points de code.
J'ai réécrit un peu de mon simple, mais non trivial, UnicodeSet au convertisseur d'ensemble binaire. Maintenant, au lieu de lire de vrais points de code, j'ai lu leur formulaire d'échappement \u
en activant l'option Escape sur le site UnicodeSet. Je l'ai fait parce que le navigateur cherche à supprimer certains caractères de l'ensemble retourné.
Cependant, ma sortie finale pour l'ensemble retourné par le modèle [:age=5.0:]&[[:gc=L:][:gc=Nl:][:gc=Mn:][:gc=Mc:][:gc=Nd:][:gc=Pc:]\$_]
après la conversion en binaire par moi-même semble avoir de faux substituts.
Ma fonction pour la lecture et sauter un point de code individuel dans l'ensemble d'entrée est nextCodePoint
:
function nextCodePoint()
{
u_ch = input.charCodeAt(inputOffset);
__escaped__ = false;
// Handle escape
if (u_ch === 0x5C)
{
__escaped__ = true;
u_ch = input.charCodeAt(inputOffset + 1);
// Handle \u
if (u_ch === 0x75)
{
inputOffset += 2;
// Skip the left XXXX base
u_start = inputOffset;
inputOffset += 4;
// Skip the right XXXX base (limited for messy patterns)
if (input.charCodeAt(inputOffset) !== 0x5C)
inputOffset += 4;
return parseInt(input.slice(u_start, inputOffset), 16);
}
}
++inputOffset;
return u_ch;
}
Toutes les idées?
Quelle est exactement l'entrée, ce qui est le résultat attendu, et quelle est la sortie réelle de cette fonction? – Bergi
@Bergi L'entrée est un fichier contenant l'ensemble de points de code retourné par le site UnicodeSet, où nous mettons des modèles tels que '[: gc = L:]'. Il y en a même un dans ma question. La sortie est si grande et difficile à déterminer que je ne peux pas mettre ici. – Hydro
@Bergi S'il vous plaît ignorer mon avertissement à propos de plus gros points de code. J'ai regardé mal. – Hydro