Kan du ikke bare lave en for-økke, der skriver hvert tal mellem 1 og 100, og så, lige inden du skriver hvert nummer, så konvertere det med parseInt(num, 8); //(Jeg er ikke sikker på, at det er syntaksen)?
mikoalngelo> øh, det kan da godt være jeg har misforstået det... Men jeg forestillede mig at der findes en liste over tegn (ASCII og scpecialtegn) der viser deres oktal værdi til brug i javascript...
roenving> ok... det gør jeg så... men jeg synes faktisk jeg har set sådan en liste. det havde jo været lidt mere handy. anyway tak for info. jeg ser lige om der dukker mere op.
Der er ASCII tegnene med deres oktal (og hexadecimal) værdi. De øvrige udvidede ASCII tegn er kun angivet decimalt. Men lad mig lige få det helt på det rene. Tegnet " har decimalværdien 34 og dermed oktal værdien 42. Princippet er så at man i JavaScript enten skriver &34; eller /42 - er det korrekt? Og tilsvarende må et dansk æ som har decimalværdien 245 have oktalværdien 365 som altså skrives/365 - eller &245;.
strengt taget er &34; og &245; vel html entities og ikke javascript tal (hvis der er noget der hedder det), men de fungerer i javascript kode i modsætning til bogstav-html entities, som f.eks. æ Er det sådan?
hov, der fik jeg vist lige messed en hel masse op. æ har decimalværdien 145 (ikke 245). Men dets nummeriske html kode er æ (man skal altså have # med, så " er ". Men det er lidt forvirrende at decimalværdien for de udvidede ASCII tegn ikke er den samme som den nummereiske html værdi...?
ok, fik det lige på det rene det med de udvidede. der bruger man de nummeriske html værdier og omregner til oktal tal. Så oktal værdien for dansk æ er \346 (= 230 decimal)
Ja, nu skal jeg jo ikke bare pushe mit eget shit - men den er faktisk temmelig handy :) Bruger du Homesite, kan du definere personlige toolbar-knapper, der afvikler 'fremmede' programmer. Det har jeg selv gjort ... og jeg bruger den faktisk meget ofte ;o)
olebole> ja den er fix. den kommer jeg til at bruge. Må jeg foreslå dig en udvidelse engang når du har lyst til at lege mere med den? Som den er nu, er den begrænset af hvad du kan indtaste fra tastaturet. Dvs karakterer som f.eks. ç “ eller — er ikke umiddelbar mulig at få omsat til oktal (eller er der et trick her?).
roenving>jeg skriver bare f.eks. document.write('Han sagde: ";#230;ble"') Men jeg kan ikke bruge "frinedly" koder som æ
Arh, så forstår jeg bedre, for en document.write smider det jo videre til html-fortolkeren, jeg tænkte i javascript, så jeg kiggede efter med alert !-)
-- men hvad er det med, at du ikke kan bruge de normale html-entiteter i html ?-)
<script type="text/javascript">document.write('Han sagde: "æble" Men jeg kan ikke bruge "friendly" koder som æç')</script>
mik789 >> Det var måske en idé. Tanken var at sikre mod fejl, der opstod ved f.eks. et uopdaget 'space' el.lign. Samtidig er det temmelig sjældent, der er tale om at ændre tegn 'udenfor' keyboard'et :) /mvh
Men så ville jeg også lave en funtion der konverterer specialtegn i tekst til oktalværdier. Dette fungerer, men er jo noget gumpetungt:
<script type="text/javascript"> function paaOktalsk(){ str = 'Åge går en tur til Ærøskøbing og får en god idé!'; str=str.replace(/Å/g,"\305"); str=str.replace(/å/g,"\345"); str=str.replace(/Æ/g,"\306"); str=str.replace(/ø/g,"\370"); str=str.replace(/é/g,"\351"); alert(str); } </scrip> <div onclick="paaOktalsk();">Hvad laver Åge?</div>
Hvordan fikser man den lidt op?
Læg under alle omstændigheder et svar begge to ;-)
Tjah, gumpetungt ser det ud, og den eneste forbedring, jeg kan finde på er at lave arrays:
<script type="text/javascript"> function paaOktalsk(){ str = 'Åge går en tur til Ærøskøbing og får en god idé!'; var reg = [/Å/g,/å/g,/Æ/g,/ø/g,/é/g]; var rep = ["\305","\345","\306","\370","\351"]; for(i=0;reg.length>i;i++)str=str.replace(reg[i],rep[i]); document.getElementById('minDiv').innerHTML=str; } </script> <div onclick="paaOktalsk();">Hvad laver Åge?</div> <div id="minDiv"></div>
-- Hvis du vil se, at det virker, skal du bare prøve på at ændre en af rep-strengene !-)
hmmn, som jeg forstår dokumentet er det ikke et nono, men et take-care. For det første drejer det sig jo kun om tekststrenge. Der gøres opmærksom på at oktalværdierne kun kan bruges til og med oktal \377. Derefter bruges kun unicode værdier. Og med dem skal man være opmærksom på at gengivelsen afhænger af folks system. Det er fair nok. Mange af disse tegn kan sagtens være ønskelige i alert- eller confirm bokse, f.eks. euro-tegnet \u20AC Prøv denne:
alert('\330h\240\240\u2014\240\240 hva\' s\345, Mikul\341\u0161? Du skylder os 1mill. \u20AC!');
og det ser faktisk OK ud (selv om det nok ikke er dagligt at man har brug for den slags advarsler ;-)
Nu er oktal-konverteren egentlig kun skrevet til mig selv - og jeg har endnu aldrig haft brug for at anvende den til de specialtegn. Får jeg det engang, bliver den måske lavet om. I det daglige, er den alt rigelig for mig :)
olebole >> Prøv at læse bogen "Rig ved et tilfælde" af Robert X. Cringely. Det beskriver en situation som din hvad angår dit seneste indlæg. Læs den... DEN ER GOD!!!
will do, men det må vente lidt. Jeg er på vej med en større software-pakke rettet mod udviklere - og den skulle gerne påbegyndes udgivet i løbet af en måneds tid. Dertil kommer, hvad jeg må kode for at få den aktuelle hverdag til at hænge sammen, så der er ikke plads til så megen læsning - uagtet jeg fornemmer, din næste kommentar bliver noget i retning af: "Læs den, før du udgiver noget!" :)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.