Comment faire pour convertir en UTF-16 ASCII
Je suis en train d'écrire un sous-programme en langage assembleur MIPS pour convertir ASCII en UTF-16, et vice-versa. Cependant, je ne pouvais pas trouver un truc, comment faire pour le convertir.
Merci pour toutes les idées.
Êtes-vous de la conversion en UTF-16? UTF-8?
j'ai besoin de convertir en UTF-16
Votre question titre dit "UTF-16 ASCII" mais votre question dit "ASCII, UTF-16" -- ce qui est correct?
j'ai besoin des deux. J'ai écrit vice versa 🙂
j'ai besoin de convertir en UTF-16
Votre question titre dit "UTF-16 ASCII" mais votre question dit "ASCII, UTF-16" -- ce qui est correct?
j'ai besoin des deux. J'ai écrit vice versa 🙂
OriginalL'auteur Yunus Eren Güzel | 2011-03-19
Vous devez vous connecter pour publier un commentaire.
Pseudocode, en supposant que votre octets octets et qui n'est pas zéro licenciement est requise:
De Conversion de format ASCII vers le format UTF-16
MOVZX
. Vous pouvez aussi prêter attention à la bonne endianness.Sans perte de conversion de l'UTF-16 ASCII
OriginalL'auteur Philipp
Tant que vous ne l'avez UCS2 (16 bits uniquement codepoints) vous pouvez convertir directement au format ASCII en faisant un
short <-> char
-la conversion la conversion des nombres plus petits que 128.Eh bien, vous devriez savoir comment faire pour copier des octets sur votre plate-forme 🙂 Et si c'est Big ou Little Endian. Si c'est Big Endian vous devez copier le deuxième octet, si c'est Little Endian vous devez copier le premier.
Cela n'a pas tellement de choses à faire avec UCS-2. Vous ne pouvez sans perte de convertir le bas de 128 bits de caractères Unicode en ASCII, qui sont à l'intérieur de la BMP.
Eh bien, si vous voulez les convertir en UTF-16, vous devez convertir codepoints à l'extérieur de la BMP, qui sont de 32 bits de long, différemment, c'est pourquoi ma solution n'est valable que pour UCS-2.
OriginalL'auteur filmor
Le terme ASCII n'est pas très spécifique.
ISO-646 est un sous-ensemble de l'Unicode UTF-16. Si "7 bits' ASCII numéros de sont déjà Unicode (c'est à dire vous suffit de les déposer dans le fond d'une valeur 16 bits), et, pour l'autre direction, tout ce que vous avez à faire est de prendre la faible 8 bits Unicode pour obtenir de l'ASCII si c'est ce que tu veux dire.
Si vous avez besoin d', d'autre part, la norme ISO-8859-1 (Latin-1), vous aurez besoin d'un tableau de conversion. Il n'y a pas de formule qui peut être traduit en instructions simples en langage d'assemblage.
J'ai corrigé-à-dire 8.
eh bien, ce sujet ASCII, UTF-16 ?
Tous les caractères ASCII dans le fichier se traduit par un UTF-16 char avec l'octet de poids fort à 0.
Vous n'avez pas besoin d'une table de conversion pour l'ISO-8859-1 en tant que bien, parce que le fond de 256 caractères Unicode sont exactement identiques à la norme ISO-8859-1 jeu de caractères. Par conséquent, la conversion de la norme ISO-8859-1 à UTF-16 est aussi simple que dans le cas de l'ASCII: prendre les octets, et insérer un octet nul après chaque d'entre eux.
OriginalL'auteur bmargulies