Acabo de compilar mi librería iconv para windows (quien no sepa de qué va esto, que espere un ratito y luego la documento). Espero que esté bien, incluye un ejemplo de uso, pero luego la documento.
Si alguien la prueba y le falla, que avise y lo miro después, que tengo un poco de prisa.
Ouuu yeah!!!
Yo no se de que va ni para que sirve, así que mejor me espero...
Yo tampoco sé de qué va, pero parece ser alguna forma de convertir una cadena de texto en icono por lo que veo en el código...
Lo he probado en Ubuntu y no me funciona el .sh, creo que debido a que no tengo gcc instalado. ¿Puede ser por esa razón Josebita? Me espero a la versión mejor documentada cuando la subas xD
http://en.wikipedia.org/wiki/Iconv probablemente. :D
HELL YES! Suena a que deberíamos tenerla en Bennu en la rama principal de módulos :)
Quote from: Windgate on July 22, 2009, 12:58:25 PM
Yo tampoco sé de qué va, pero parece ser alguna forma de convertir una cadena de texto en icono por lo que veo en el código...
Lo he probado en Ubuntu y no me funciona el .sh, creo que debido a que no tengo gcc instalado. ¿Puede ser por esa razón Josebita? Me espero a la versión mejor documentada cuando la subas xD
jajajaja... "cadena de texto en icono"... muy bueno...
iconv creo que significa "international conversion"... sirve para conversion de caracteres entre distintas codificaciones segun idioma.
QuoteWindgate escribió (Hoy a las 05:58:25 ):
Yo tampoco sé de qué va, pero parece ser alguna forma de convertir una cadena de texto en icono por lo que veo en el código...
Lo he probado en Ubuntu y no me funciona el .sh, creo que debido a que no tengo gcc instalado. ¿Puede ser por esa razón Josebita? Me espero a la versión mejor documentada cuando la subas xD
jajajaja... "cadena de texto en icono"... muy bueno...
iconv creo que significa "international conversion"... sirve para conversion de caracteres entre distintas codificaciones segun idioma.
lol subestimé a Josebita... Se me escapa la utilidad que pueda sacarle a semejante cosa... A corto plazo al menos... :o
la ultilidad es que no te salgan cosas raras en los textos como te pasaba con los acentos...
Dioses del olimpo...
Una string cadena="Hola, ¿Qué tal tienes esa tripa, tío?, ¿Contenta?";
¿Se mostraría correctamente en pantalla?
Sería magnífico, ojalá sea tan fácil de usar como tantas otras cosas de Bennu, seguiré este hilo!!!
claro, fijate el karaoke... la usa...
Jué, llego a saber que iba a tener esta aceptación y lo compilo antes XD.
A ver, es lo que dice Mz. Se trata de un módulo que permite cambiar la codificación de los textos. Se trata nada más que de un binding de GNU libiconv (http://"http://www.gnu.org/software/libiconv/").
Para eso de los acentos que dices serviría. Sabiendo la codificación del texto de origen y de la de destino, cambia el texto entre una y otra.
Me gustaría cambiarla un poco para que en caso de error devuelva la misma cadena de origen. Ahora devuelve el código de error y eso hace que funcione raro.
La otra cosa que me gustaría es cambiarle el libiconv por mod_iconv, que supongo es un poco más la filosofía de Bennu.
El módulo sólo tiene una función útil. La función es:
[code language="bennu"]string iconv(string origin_charset, string dest_charset, string cadena_a_convertir);[/code]
Donde
origin_charset y
dest_charset son uno de los charsets soportados y
cadena_a_convertir es la cadena cuyo charset se quiere convertir.
La lista de charsets soportados (copiada de la página oficial de GNU libiconv) es:
- European languages
ASCII, ISO-8859-{1,2,3,4,5,7,9,10,13,14,15,16}, KOI8-R, KOI8-U, KOI8-RU, CP{1250,1251,1252,1253,1254,1257}, CP{850,866,1131}, Mac{Roman,CentralEurope,Iceland,Croatian,Romania}, Mac{Cyrillic,Ukraine,Greek,Turkish}, Macintosh - Semitic languages
ISO-8859-{6,8}, CP{1255,1256}, CP862, Mac{Hebrew,Arabic} - Japanese
EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP, ISO-2022-JP-2, ISO-2022-JP-1 - Chinese
EUC-CN, HZ, GBK, CP936, GB18030, EUC-TW, BIG5, CP950, BIG5-HKSCS, BIG5-HKSCS:2001, BIG5-HKSCS:1999, ISO-2022-CN, ISO-2022-CN-EXT - Korean
EUC-KR, CP949, ISO-2022-KR, JOHAB - Armenian
ARMSCII-8 - Georgian
Georgian-Academy, Georgian-PS - Tajik
KOI8-T - Kazakh
PT154, RK1048 - Thai
ISO-8859-11, TIS-620, CP874, MacThai - Laotian
MuleLao-1, CP1133 - Vietnamese
VISCII, TCVN, CP1258 - Platform specifics
HP-ROMAN8, NEXTSTEP - Full Unicode
UTF-8
UCS-2, UCS-2BE, UCS-2LE
UCS-4, UCS-4BE, UCS-4LE
UTF-16, UTF-16BE, UTF-16LE
UTF-32, UTF-32BE, UTF-32LE
UTF-7
C99, JAVA - Full Unicode, in terms of uint16_t or uint32_t (with machine dependent endianness and alignment)
UCS-2-INTERNAL, UCS-4-INTERNAL
Además, si a
dest_charset se le añade el texto "//TRANSLIT" además si no existe ese carácter en particular, lo cambia por el más parecido.
Por ejemplo, si se quiere convertir la cadena:
"Mi binding de iconv mola mogollón"
a un charset en que no existe la "ó", convierte el texto a:
"Mi binding de iconv mola mogollon".
Creo que es todo :) Espero que os sea útil.
Otra cosa:
Si quereis averiguar el charset de un fichero de texto, en mi karaoke teneis una rutina que lo hace, con sólo pasarle la ruta al fichero. Debería funcionar con sólo copiar el fichero inc/charset.inc a vuestros proyectos.
Para añadir charsets para detectar, en la carpeta donde esté el fichero principal de código, debeis poner una carpeta llamada charset_finder y dentro un fichero por charset, con el nombre del charset y en cada línea un carácter codificado en el charset que se quiere detectar, es decir, algo como un fichero de nombre:
ISO-8859-1
con los caracteres:
á
é
í
ó
ú
ü
ñ
¿
ç
A ver si os gusta.
PD: Voy a estar unos días disfrutando del sol del verano (:P a los del hemisferio sur) y luego estaré unos pocos días más desconectado. Si alguien tiene alguna duda, que lo deje por aquí y a la vuelta le echo un ojo, ok?
Hale, a dormir.
te pario! :)
aca son los dias mas frios del año... aca cerca de donde estoy, hizo -17º... diablos! fue record!
que lo disfrutes...
Tal como propone Pixel...¿sería descabellado incluir este módulo entre los oficiales? Lo digo porque es una utilidad interesante pero "rara". Si viene de serie sería mucho más utilizada y sería un punto a favor...
Venga, hasta luego.
Quote from: osk on July 24, 2009, 10:15:59 AM
Tal como propone Pixel...¿sería descabellado incluir este módulo entre los oficiales? Lo digo porque es una utilidad interesante pero "rara". Si viene de serie sería mucho más utilizada y sería un punto a favor...
Venga, hasta luego.
Por mí que no sea; no tendría ningún problema en dar el copyright a quien sea. Pero sólo si Splinter lo ve útil...
48ºc a la sombra el pasado jueves.
Yo cuando dije lo de tenerla en la base lo hice pensando, por ejemplo en PHP, que cada dos por tres me salvan de un apuro.
Además de que me vendrían perfectas para mis juegos multilenguaje. Por esta razón tengo los textos de PiX Bros en imágenes xD
Es util, pero yo no la integraria al core, debido a que algo que da una carga extra al proceso...
Me gustaria que quede como contrib...
Ver de que forma armar algun repo o subir al repo las contrib...
Sí, vamos. Algo así. Muchas gracias. :)
pero... solo es un conversor... pero aun lo le veo la utilidad...
Si me dices que puedo escrivir unicode... deveria convertir el programa.prg en formato unicode...no?
No, no debes cambiar el prg.
Igual se entiende mejor con un ejemplo:
Cree la librería porque quería leer ficheros externos a Bennu (es decir, a la hora de compilar Bennu no sabe siquiera si el fichero existe) con las letras de las canciones para mi karaoke. El tema es que cuando leía los ficheros con las letras a veces había caracteres que se veían mal. Eso es por diferencias de codificación. Debía cambiar el charset para que las letras se vieran siempre bien.
No sé si me explico.
esta libreria se ve interesante
la subire al bennupack..
Quote from: l1nk3rn3l on January 16, 2010, 03:18:25 PM
esta libreria se ve interesante
la subire al bennupack..
Genial!
Si necesitas alguna ayuda para ello, avisa.
Con esto libreria puedo imprimir caracteres fuera de los ascii, o entendi mal??
Con la librería puede manejar datos distintos de ascii, sí.
Lo que hagas con ellos ya es cosa tuya :)