Code utf-8

Description

un petit programme qui affiche les caractères UTF-8 avec leurs codes associés.
j'y ai aussi filtré par les différents groupes dans un combo

Source / Exemple :


var int2hex=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"];

var code= new Array ({lib:"latin basique", ustart:"U+0000", uend:"U+007F",start:"0",stop:"127"},
{lib:"supplément latin-1", ustart:"U+0080", uend:"U+00FF",start:"128",stop:"255"},
{lib:"latin étendu - A", ustart:"U+0100", uend:"U+017F",start:"256",stop:"383"},
{lib:"latin étendu - B", ustart:"U+0180", uend:"U+024F",start:"384",stop:"591"},
{lib:"extensions API", ustart:"U+0250", uend:"U+02AF",start:"592",stop:"685"},
{lib:"lettres modificatives", ustart:"U+02B0", uend:"U+02FF",start:"688",stop:"767"},
{lib:"diacritiques combinants", ustart:"U+0300", uend:"U+036F",start:"768",stop:"879"},
{lib:"grec et copte", ustart:"U+0370", uend:"U+03FF",start:"880",stop:"1023"},
{lib:"cyrillique", ustart:"U+0400", uend:"U+04FF",start:"1024",stop:"1279"},
{lib:"supplément cyrillique", ustart:"U+0500", uend:"U+052F",start:"1280",stop:"1327"},
{lib:"arménien", ustart:"U+0530", uend:"U+058F",start:"1328",stop:"1423"},
{lib:"hébreu", ustart:"U+0590", uend:"U+05FF",start:"1424",stop:"1535"},
{lib:"arabe", ustart:"U+0600", uend:"U+06FF",start:"1536",stop:"1791"},
{lib:"syriaque", ustart:"U+0700", uend:"U+074F",start:"1792",stop:"1871"},
{lib:"supplément arabe", ustart:"U+0750", uend:"U+077F",start:"1872",stop:"1919"},
{lib:"thâna", ustart:"U+0780", uend:"U+07BF",start:"1920",stop:"1983"},
{lib:"n’ko", ustart:"U+07C0", uend:"U+07FF",start:"1984",stop:"2047"},
{lib:"(samaritain)", ustart:"U+0800", uend:"U+083F",start:"2048",stop:"2111"},
{lib:"(mandaïque)", ustart:"U+0840", uend:"U+085F",start:"2112",stop:"2143"},
{lib:"*(reservé 1)", ustart:"U+0860", uend:"U+087F",start:"2144",stop:"2175"},
{lib:"¿arabe étendu-A?", ustart:"U+0880", uend:"U+08BF",start:"2176",stop:"2239"},
{lib:"*(reservé 2)", ustart:"U+08C0", uend:"U+08FF",start:"2240",stop:"2303"},
{lib:"dévanâgarî", ustart:"U+0900", uend:"U+097F",start:"2304",stop:"2431"},
{lib:"bengalî", ustart:"U+0980", uend:"U+09FF",start:"2432",stop:"2559"},
{lib:"gourmoukhî", ustart:"U+0A00", uend:"U+0A7F",start:"2560",stop:"2687"},
{lib:"goudjarâtî (gujrâtî)", ustart:"U+0A80", uend:"U+0AFF",start:"2688",stop:"2815"},
{lib:"oriyâ", ustart:"U+0B00", uend:"U+0B7F",start:"2816",stop:"2943"},
{lib:"tamoul", ustart:"U+0B80", uend:"U+0BFF",start:"2944",stop:"3071"},
{lib:"télougou", ustart:"U+0C00", uend:"U+0C7F",start:"3072",stop:"3199"},
{lib:"kannara", ustart:"U+0C80", uend:"U+0CFF",start:"3200",stop:"3327"},
{lib:"malayalam", ustart:"U+0D00", uend:"U+0D7F",start:"3328",stop:"3455"},
{lib:"singhalais", ustart:"U+0D80", uend:"U+0DFF",start:"3456",stop:"3583"},
{lib:"thaï", ustart:"U+0E00", uend:"U+0E7F",start:"3584",stop:"3711"},
{lib:"laotien", ustart:"U+0E80", uend:"U+0EFF",start:"3712",stop:"3839"},
{lib:"tibétain", ustart:"U+0F00", uend:"U+0FFF",start:"3840",stop:"4095"}); 

function _(idx)
{
return document.getElementById(idx);
}

function load()
{
for (e in code)
{
_("lst").options[_("lst").length] = new Option(code[e].lib,e,false,false);
}
charger(0);
}

function int2hex_(code,lng)
{
str="";
for (k=0;k<lng;k++)
{
str=int2hex[code&15]+str;
code>>=4;
}
return str;
}

function charger(idx)
{
pstart = code[idx].start - (code[idx].start % 16);
pstop = code[idx].stop - (code[idx].stop % 16) + 16;
h = (pstop - pstart)>>4;

htm="<table cellpadding=0 cellspaccing=0 >";
htm+="<tr><td>---</td>";
for (i=0;i<16;i++)
{
htm+="<td style='text-align:center'><b>"+int2hex_(i,1)+"</b></td>";
}
htm+="</tr>\n";
for (y=0;y<h;y++)
{
htm+="<tr><td><b>"+int2hex_(pstart+(16*y),4)+"</b></td>";
for (i=0;i<16;i++)
{
px = (pstart+y*16+i);
htm+="<td style='width:50px;height:32px;border:1px dashed black;text-align:center;font-size:21px' onmouseover='choix(this,"+px+")' onmouseout='choix(this,-1)'>";
htm+=(px>=code[idx].start&&px>0) ? "&#"+px+";" : "&nbsp;";
htm+="</td>";
}
htm+="</tr>\n";
}
htm+="</table>";

htm+=+pstart+" -> "+pstop;
_("tableau").innerHTML=htm;

}

function choix(src,px)
{
if (px<0)
{
_("info").innerHTML="<br/>";
} else
{
htm="code UTF-8 : "+px+" (#"+int2hex_(px,4)+") ";
_("info").innerHTML=htm;
}

src.style.background = (px<0)?"none":"#E0E0E0";
}

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.