Avatar billede andersthingholm Nybegynder
29. april 2004 - 13:56 Der er 9 kommentarer og
1 løsning

enconde/decode karakterer til hex

Hej,

Er der noget, der ved hvordan man laver en funktion, der konverterer en streng til hex-koder?

VH

Anders
Avatar billede pyroman Nybegynder
29. april 2004 - 14:22 #1
Ømm - flash har ikke nogen funktion der laver et tal om til hex-koder...
Du kan lave hex-koder om til et tal! Kan du bruge det til noget?:

hexNumber = "D2";
number = parseInt(hexNumber, 16);
//number = 210  (D=13 - 13*16+2 = 210)

Ellers kan jeg da godt se om jeg kan smede en funktion sammen...

/Filip
Avatar billede andersthingholm Nybegynder
29. april 2004 - 14:25 #2
Nej, jeg skal bruge en funktion - noget ala dette:

Input:<Hello World!>

Output:&#x3C;&#x48;&#x65;&#x6C;&#x6C;&#x6F;&#x20;&#x57;&#x6F;&#x72;&#x6C;&#x64;&

#x21;&#x3E;







using System;



namespace UnicodeTest

{

      /// <summary>

      /// Summary description for Class1.

      /// </summary>

      class Class1

      {

            private const string HexTable = "0123456789ABCDEF";



            private static char GetHexNibble(int c)

            {

                  if (c < 0 || c > 0xf)

                  {

                        throw new Exception(c + " er ikke valid");

                  }

                  return HexTable[c];

            }



            private static string GetHexValue(char c)

            {

                  Int16 cint = Convert.ToInt16(c);

                  char high4bits = GetHexNibble((cint & 0xf0) >> 4); /* Øverste 4 bits */

                  char low4bits = GetHexNibble(cint & 0xf); /* Laveste 4 bits */

                  return Convert.ToString(high4bits) + Convert.ToString(low4bits);

            }



            private static string EncodedString(string s)

            {

                  string output = "";

                  foreach (char c in s)

                  {

                        output = output + "&#x" + GetHexValue(c) + ";";

                  }

                  return output;

            }



            /// <summary>

            /// The main entry point for the application.

            /// </summary>

            [STAThread]

            static void Main(string[] args)

            {

                  string ins = "<Hello World!>";

                  string outs = EncodedString(ins);

                  Console.WriteLine("Input:" + ins);

                  Console.WriteLine("Output:" + outs);

            }

      }

}
Avatar billede barklund Nybegynder
29. april 2004 - 15:12 #3
Ingen problemer, du kan SAGTENS lave tal om til hex, og du kan SAGTENS finde tegnkoden for et tegn som et tal:

function html_hex_encode(in_str) {
    var i, out = "", l = in_str.length;
    for (i = 0; i < l; i++) {
        out += "&#x" + in_str.charCodeAt(i).toString(16).toUpperCase() + ";";
    }
    return out;
}
trace(html_hex_encode("<Hello world!>"));

Altså Number.toString tager base som parameter :)

// Morten Barklund
Avatar billede barklund Nybegynder
29. april 2004 - 15:13 #4
Damn, det er en tåbeligt lang funktion, du har fundet dig der, Anders :)

Men det er vist også noget Java gejl og det er da godt nok skrevet fjollet!
Avatar billede pyroman Nybegynder
29. april 2004 - 15:19 #5
Damn - havde helt glemt at man kunne bruger Number.toString() til det lort! Nåh - anyway Anders - dér fik du din funktion ;) Godt gået af barklund igen...
Avatar billede barklund Nybegynder
29. april 2004 - 15:30 #6
/me der netop sidder og skriver om lige præcis tegnkoder og konvertering til og fra :)

Det gjorde ligesom ekstra nemt at svare på
Avatar billede pyroman Nybegynder
29. april 2004 - 15:33 #7
hehe - er det til bogen? Hvordan går det med den?
Avatar billede barklund Nybegynder
29. april 2004 - 15:39 #8
"Glimrende" eller noget - jeg skal nok nå det til korrekturdeadline om tre uger - og det bliver godt :)
Avatar billede andersthingholm Nybegynder
30. april 2004 - 00:16 #9
Smukt som altid ;-) Tak til alle.
Avatar billede barklund Nybegynder
30. april 2004 - 00:22 #10
Tark for points :)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester