Avatar billede gulbaek Nybegynder
14. december 2002 - 20:36 Der er 16 kommentarer og
1 løsning

konventering af String til int

Har lige et enkelt spørgsmål

jeg skal have lavet en algoritme som kan omforme en tekst streng til en int og tilbage igen.

jeg har følgende String

String tekst = "abc";

den vil jeg gerne have lavet om til

int tal = 123;

Altså en omforming af en tekst String til en tal værdi.

a = 1
b = 2
c = 3

Ovenstående tror jeg godt jeg kan finde udaf, men jeg kan se jeg får et problem når jeg vil bruge f.eks.

String tekst = abc123;

Er der ikke en måde hvorpå man kan få omformet det hele til tal og stadig have mulighed for at konventere det korrekt tilbage igen.
Avatar billede erikjacobsen Ekspert
14. december 2002 - 20:41 #1
Hvad skulle

  String tekst="abc123";

betyde? Tænker du på hexadecimale tal kan du jo godt. Ellers kan et tal,
fx 123, jo ikke indeholde anden information end 123.
Avatar billede erikjacobsen Ekspert
14. december 2002 - 20:42 #2
Sorry - jeg skulle måske læse hvad du skriver.... :)

"abc" skal være 123. Men hvad skal "xyz" så være?
Avatar billede gulbaek Nybegynder
14. december 2002 - 20:44 #3
det kunne jo f.eks. være samme plads som de har i alfabetet.
Avatar billede bearhugx Nybegynder
14. december 2002 - 20:46 #4
Ok .. men hvordan vil du håndterer bogstaver, som umiddelbart bruger mere end et ciffer ??

a=1 b=2 c=3 d=4 e=5 f=6 g=7 h=8 i=9 j=??

Hvad bliver j??  10 eller 0 eller ???
Avatar billede bearhugx Nybegynder
14. december 2002 - 20:47 #5
og hvad så når du konverter tilbage (bliver 11 fortolket som "k" eller "aa")
Avatar billede gulbaek Nybegynder
14. december 2002 - 20:47 #6
Jeg skal bruge det i en chatter skal køre med RSA kryptering.

RSA algoritmen brugere BigIntegere, og derfor er det nødvendig for mig at lave mine chat beskeder om til tal, så de kan blive krypteret.
Avatar billede bearhugx Nybegynder
14. december 2002 - 20:48 #7
RSA bør også kunne konvertere en tekststreng ;-) ..
Avatar billede gulbaek Nybegynder
14. december 2002 - 20:49 #8
bearhugx

Det kunne man jo løse ved at man siger at de skal bruge 2 cifre, men det løser ikke mit problem med at jeg gerne vil kunne sende både tekst og strenge på samme tid
Avatar billede bearhugx Nybegynder
14. december 2002 - 20:52 #9
(Bliver lige nød til at smutte i 20-30 min - så vender jeg tilbage)
Avatar billede erikjacobsen Ekspert
14. december 2002 - 20:53 #10
En streng er jo bare et stor binært tal. Hvis du
ikke har forstået det, skal du ikke begynde på
at lege med RSA.

Skal du endelig, så lav det ikke selv, men find en
klasse der håndterer det for dig.
Avatar billede gulbaek Nybegynder
14. december 2002 - 20:54 #11
oki, så håber jeg du udtænker en genial løsning imens
Avatar billede arne_v Ekspert
14. december 2002 - 20:55 #12
Konverter:
  String -> byte[] -> BigInteger
og:
  BigInteger -> byte[] -> String
Avatar billede gulbaek Nybegynder
14. december 2002 - 20:57 #13
jep, arne_v det sådan noget jeg havde tænkt mig.

kunne du tænke dig at lave et lille kode eksempel hvor man gør det ?
Avatar billede arne_v Ekspert
14. december 2002 - 21:03 #14
10 sekunder kig i JavaDoc siger:

String s;
byte[] ba = s.getBytes();
BigInteger bi = new BigInteger(ba);

BigInteger bi;
byte[] ba = bi.toByteArray();
String s = new String(ba);

men måske jeg lige skulle teste det !
Avatar billede arne_v Ekspert
14. december 2002 - 21:06 #15
import java.math.*;
Det virkede sgu !

public class X {

    public static void main(String[] args) {
        String s = "abc123";
        byte[] ba = s.getBytes();
        BigInteger bi = new BigInteger(ba);
        byte[] ba2 = bi.toByteArray();
        String s2 = new String(ba2);
        System.out.println(s2);
    }
}
Avatar billede arne_v Ekspert
14. december 2002 - 21:07 #16
[om igen]

Det virkede sgu !

import java.math.*;

public class X {

    public static void main(String[] args) {
        String s = "abc123";
        byte[] ba = s.getBytes();
        BigInteger bi = new BigInteger(ba);
        byte[] ba2 = bi.toByteArray();
        String s2 = new String(ba2);
        System.out.println(s2);
    }
}
Avatar billede gulbaek Nybegynder
14. december 2002 - 21:18 #17
Yes, det virker sgu også igennem RSA

Takkker mange mange gange
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
Kurser inden for grundlæggende programmering

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