Informacion sobre Codificacion de caracteres

26/10/2006 - 09:11 por Finwe | Informe spam
Hola, quedria desarrollar un programa para que me permitiese cambiar el
tipo de codificación de caracteres de Windows-1250 a Shift_JIS
(codificación japonesa). No se si me explico muy bien es que tampoco
he encontrado información sobre el tema la cuestion es la siguiente.
Por ejemplo la palabra Hola se representa en japones como:

こんにちは

Pero en algunos programas no te permite escribir ese tipo de
codificación por lo que normalmente la cambio a windows-1250 y queda
algo como esto:

‚±‚ń‚É‚ż‚Í

Esto lo hago con el mismo navegador cambiando la codificación en VER
-> codificación de caracteres. Pues bien tb hago lo mismo con algunos
ficheros que tengo guardados en japones para que por ejemplo programas
como el bsplayer (que antes no soportaba unicaode) me lo dejen abrir.
La cuestión es que ahora quiero renombrar todo lo ke puse de esta
forma a codificación de caracteres Shift_JIS de una forma automatica y
he pensado en utilizar c# para hacer la rutina pero no se ke clases
puedo utilizar para hacer esto.

Desde ya muchas gracias lo siento si no me he explicaco muy bien pero
es que no se hacerlo de otra forma :P
 

Leer las respuestas

#1 Alberto Poblacion [MVP]
26/10/2006 - 09:45 | Informe spam
"Finwe" wrote in message
news:
Hola, quedria desarrollar un programa para que me permitiese cambiar el
tipo de codificación de caracteres de Windows-1250 a Shift_JIS
[...]
La cuestión es que ahora quiero renombrar todo lo ke puse de esta
forma a codificación de caracteres Shift_JIS de una forma automatica y
he pensado en utilizar c# para hacer la rutina pero no se ke clases
puedo utilizar para hacer esto.



Las clases que manipulan los juegos de caracteres están en
System.Text.Encoding.
Lo que yo haría para cambiar un archivo de un juego a otro es abrirlo
con un StreamReader indicando el juego original, y grabarlo con un
StreamWriter indicando el de destino:

using System.Text;
using System.IO;

Encoding juegoOriginal=Encoding.GetEncoding("Windows-1250");
Encoding juegoDestino=Encoding.GetEncoding("shift_jis");

StreamReader sr = new StreamReader(fichero, juegoOriginal);
string caracteres = sr.ReadToEnd();
sr.Close();
StreamWriter sw = new StreamWriter(fichero, false, juegoDestino);
sw.Write(caracteres);
sw.Close();

Preguntas similares