---
title: "charset"
type: "forum-thread"
url: "https://www.webforum.nu/amne/java/52370-charset"
topic: "Java"
topic_url: "https://www.webforum.nu/amne/java"
author: "phonkworks"
published: "2002-09-06T08:48:59.000Z"
updated: "2002-09-06T13:52:11.000Z"
replies: 4
views: 311
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/java/52370-charset"
---

# charset

## #1 — phonkworks, 2002-09-06T08:48Z

Hallo!

Har lite problem med att översätta en hex kodad sträng till en "läsbar" sträng.

Får inte ÅÄÖåäö att funka.

Vet nån hur charset funkar? Det finns ju en String konstruktor som ser ut så här:
String(byte\[\] bytes, String charsetName)

Vad innebär charSet name?
Vilka charset names finns det?
Vilket ska jag använda för svenska ÅÄÖåäö?

Kanske inte ens är rätt väg att gå. Har någon nåt tips?

Mvh
phonk

Permalänk: https://www.webforum.nu/p/52370

## #2 — SPiN, 2002-09-06T08:59Z

Du kan ju använda Charset's till InputStreamReader och OutputStreamWriter, för att ange charset. Om jag nu har förstått dig rätt:

```
InputStream inputStream = new InputStream( LALA );
InputStreamReader inputStreamReader = new InputStreamReader( inputStream, Charset.forName( "ISO-8859-1" ) );

// Läs...
```

Vill du konvertera mellan olika charset's så finns metoderna Charset.newDecoder() Charset.newEncoder() som returnerar objekt av typen CharsetDecoder samt CharsetEncoder eller metoderna Charset.decode() samt Charset.encode().

Permalänk: https://www.webforum.nu/p/773490

## #3 — SPiN, 2002-09-06T09:02Z

> Vad innebär charSet name?

Anger vilken standard som ska användas för att läsa tecknen på rätt sätt.

> Vilka charset names finns det?

Många. De vanligaste är väl ändå UTF-8 och ISO-8859-1.

> Vilket ska jag använda för svenska ÅÄÖåäö?

ISO-8859-1

Permalänk: https://www.webforum.nu/p/773493

## #4 — phonkworks, 2002-09-06T10:25Z

Tack SPiN! Ska knacka lite så återkommer jag om det strular.

mvh
phonk

Permalänk: https://www.webforum.nu/p/773570

## #5 — phonkworks, 2002-09-06T13:52Z

Hehe, njae vad jag än prövade så sprack det. Vete fan hur dom hexkodar strängar. Men hur som helst löste det sig med lite kreativ hårdkodning.

Så om ni nån gång behöver avkoda en UCP sträng från Telia så sno gärna denna så slipper iallafall nån sitta en hel vecka o jävlas.

mvh
phonk

```php
	private String ucp2Text(String ucp)  throws Exception {
		
		StringTokenizer st = new StringTokenizer(ucp,"'/'",true);
		boolean cont = true;
		int pos = 0;
		String txt = null;
		while(cont) {
			
			String token = st.nextToken();
			if(token.equals("/")) pos++;
			
			if(pos == 8) {
				
				token = st.nextToken();
				int cut = 0;
				byte[] ch = new byte[(token.length()/2)];
				
				for(int i = 0;i<(token.length()/2);i++) {
					
					ch[i] = Byte.parseByte(token.substring(cut,cut+2),16);
					if((int) ch[i] == 0x0F) ch[i] = (byte) 'å'; //å
					else if((int) ch[i] == 0x7B) ch[i] = (byte) 'ä'; //ä
					else if((int) ch[i] == 0x7C) ch[i] = (byte) 'ö'; //ö
					else if((int) ch[i] == 0x0E) ch[i] = (byte) 'Å'; //Å
					else if((int) ch[i] == 0x5B) ch[i] = (byte) 'Ä'; //Ä
					else if((int) ch[i] == 0x5C) ch[i] = (byte) 'Ö'; //Ö
					cut += 2;
				}
				
				try {
					txt = new String(ch, Charset.forName( "ISO-8859-1" ).name() );
					//System.out.println(txt+":in ISO-8859-1");
				} catch(Exception x) {
					txt = new String(ch);
					x.printStackTrace();
				}
				cont = false;
				
			}
			
		}
		
		return txt;
	}
```

Permalänk: https://www.webforum.nu/p/776676

---

Tråden på webben: https://www.webforum.nu/amne/java/52370-charset
