• Publicidad

Problema con la llegada de lista de caracteres

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Problema con la llegada de lista de caracteres

Notapor jserrano » 2009-12-07 15:16 @678

Buenas tardes:

Lo que sucede es que estoy ingresando dentro de una variable esta lista de caracteres:

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48U29saWNpdHVkX1JlZ2lzdHJvPjxWZXJzaW9uPj
EuMTwvVmVyc2lvbj48RGF0b3NfUmVnaXN0cm8+PE51bWVyb19SZWdpc3RybyAvPjxGZWNoYV9QcmVzZW50YWNpb24g
Lz48SG9yYV9QcmVzZW50YWNpb24gLz48RmVjaGFfRWZlY3RpdmEgLz48SG9yYV9FZmVjdGl2YSAvPjwvRGF0b3NfUm
VnaXN0cm8+PERhdG9zX0Zpcm1hZG9zPjxEYXRvc19HZW5lcmljb3M+PE9yZ2FuaXNtbz4wMDI8L09yZ2FuaXNtbz48
SWRpb21hPmVzX0VTPC9JZGlvbWE+PFJlbWl0ZW50ZT48Tm9tYnJlPkpVQU4gR09NRVogTE9QRVo8L05vbWJyZT48RG
9jdW1lbnRvX0lkZW50aWZpY2FjaW9uPjxUaXBvPjE8L1RpcG8+PE51bWVybz4wNTI2MTA0MkU8L051bWVybz48L0Rv
Y3VtZW50b19JZGVudGlmaWNhY2lvbj48Q29ycmVvX0VsZWN0cm9uaWNvPmNoZXBhX3NlcnJhbm8uZXM8L0NvcnJlb1
9FbGVjdHJvbmljbz48L1JlbWl0ZW50ZT48QXN1bnRvPjxDb2RpZ28+VFJRUzwvQ29kaWdvPjxEZXNjcmlwY2lvbj5T
b2xpY2l0dWQgZGUgUmVjbGFtYWNp824sIHF1ZWphIHkgc3VnZXJlbmNpYXM8L0Rlc2NyaXBjaW9uPjwvQXN1bnRvPj
xEZXN0aW5vPjxDb2RpZ28gLz48L0Rlc3Rpbm8+PE51bWVyb19FeHBlZGllbnRlIC8+PC9EYXRvc19HZW5lcmljb3M+
PERhdG9zX0VzcGVjaWZpY29zPjxkb2N1bWVudG9JZGVudGlkYWQ+MDUyNjEwNDJFPC9kb2N1bWVudG9JZGVudGlkYW
Q+PG5vbWJyZVNvbGljaXRhbnRlPkpVQU4gR09NRVogTE9QRVo8L25vbWJyZVNvbGljaXRhbnRlPjxkb21pY2lsaW9O
b3RpZmljYWNpb24+TXogRiBDODwvZG9taWNpbGlvTm90aWZpY2FjaW9uPjxsb2NhbGlkYWQ+UGFycmFsZXM8L2xvY2
FsaWRhZD48cHJvdmluY2lhPkliYWd1ZTwvcHJvdmluY2lhPjxjb2RpZ29Qb3N0YWw+MDAwMDA8L2NvZGlnb1Bvc3Rh
bD48c29saWNpdGE+bGpoZGJmIGdsZG5iZiBqa2cgbGZkZ2JsZmRoYmdsaGJmZGdsaGJmZGhnamJkc2xqaGdiZHNqbG
hiIGc8L3NvbGljaXRhPjxleHBvbmU+a2ogZ2Zqa2RzaCBnamJmZGdqaGZkbmJqa2xnbmZkamtnbmprbGZkbmdramZk
c25nbGtqbmZkamtsZ25sZmRqa2c8L2V4cG9uZT48dGVsZWZvbm8+MjY0MDAwMDwvdGVsZWZvbm8+PC9EYXRvc19Fc3
BlY2lmaWNvcz48RG9jdW1lbnRvcz48RG9jdW1lbnRvPjxOb21icmU+aW50ZXJmYWNlLnBkZjwvTm9tYnJlPjxDb2Rp
Z28+VFJBTTFEMTwvQ29kaWdvPjxFeHRlbnNpb24+cGRmPC9FeHRlbnNpb24+PERlc2NyaXBjaW9uPkRvY3VtZW50by
BQREY8L0Rlc2NyaXBjaW9uPjxIYXNoPjJjZDZjNDg0YzAzYTNiYTBmNTBhOGY0MTc1YWE4ZWNhPC9IYXNoPjxGaXJt
YSAvPjxDb250ZW5pZG8gLz48L0RvY3VtZW50bz48L0RvY3VtZW50b3M+PC9EYXRvc19GaXJtYWRvcz48RmlybWEgLz
48L1NvbGljaXR1ZF9SZWdpc3Rybz4
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


la cual contiene caracteres especiales (+). Cuando quiero imprimirla, me está quitando los '+', ¿qué puedo hacer para solucionar el problema?
jserrano
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2009-11-27 08:39 @402

Publicidad

Re: Problema con la llegada de lista de caracteres

Notapor explorer » 2009-12-07 15:20 @680

Pues a mí sí que me salen los '+'...

¿Qué código estás usando?
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Problema con la llegada de lista de caracteres

Notapor jserrano » 2009-12-07 15:24 @683

Llega de un proceso en Javascript, a Perl.
jserrano
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2009-11-27 08:39 @402

Re: Problema con la llegada de lista de caracteres

Notapor explorer » 2009-12-07 15:40 @694

Mira, mira...

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;
  4. use diagnostics;
  5.  
  6. my $recibido = 'PD94bWwgdmVyc2lv+j0iMS4wIiBlbmN+ZGluZz0i+VRGLTgiPz4+U29saWNp+HVkX1JlZ2+zdHJvPj+WZXJza+9uPj';
  7.  
  8. print "[$recibido]\n";
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
explorer@casa:~/Documents/Desarrollo> ./kk.pl
[PD94bWwgdmVyc2lv+j0iMS4wIiBlbmN+ZGluZz0i+VRGLTgiPz4+U29saWNp+HVkX1JlZ2+zdHJvPj+WZXJza+9uPj]
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Problema con la llegada de lista de caracteres

Notapor kidd » 2010-01-09 11:10 @507

jserrano escribiste:Llega de un proceso en Javascript, a Perl.


Realmente lo que deberías de hacer es escapar los '+' en tu función de JavaScript. Sin ver el código lo que se me ocurre es que tu script de JavaScript está enviando los datos a Perl, pero al hacerlo lo envía como un query string, en donde los '+' significan espacios.

En tu JavaScript debes de sustituir los '+' por '%2B'.

Saludos
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Re: Problema con la llegada de lista de caracteres

Notapor explorer » 2010-01-09 11:11 @508

Eso no es lo que preguntaba jserrano. Él comentaba que a la hora de imprimir la cadena, desaparecían los caracteres '+'. Seguramente la ristra de caracteres forme parte de una codificación base64, y claro, no es bueno que se pierdan caracteres por el camino.

En HTML, un signo '+' es un signo '+'. No estamos hablando de codificación en HTML, sino de codificación en los URI, en que un '+' sirve para separar los argumentos.

Sacado del RFC 1630, línea 363:
Within the query string, the plus sign is reserved as shorthand
notation for a space. Therefore, real plus signs must be encoded.
This method was used to make query URIs easier to pass in systems
which did not allow spaces.
que quiere decir
Dentro de la cadena de petición, el signo más está reservado como una
abreviatura de notación de un espacio. Los otros signos más deben ser codificados siempre.
Este método es usado para hacer peticiones URI más fáciles de pasar en sistemas
que no permitían espacios.


En cuanto a las funciones de codificación/descodificación, hace años que ya no se usan. Ahora, para esos menesteres, existen módulos que esconden esa complejidad, como URI::Escape, por ejemplo, que si miras su código, verás que tiene en cuenta algunos casos más que el simplemente traducir codificaciones.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Problema con la llegada de lista de caracteres

Notapor explorer » 2010-01-09 11:46 @532

No se trata de ninguna competición, solo se trata de poner puntos sobre las is. Si vemos que algo no se ajusta o que está mal, pues se comenta. Si al autor del hilo no le vale con la respuesta dada, lo normal es que insista.

En cuanto a la pregunta de jserrano, es: Cuando quiero imprimirla, me está quitando los '+', ¿qué puedo hacer para solucionar el problema?. O dicho de otra manera: él tiene esa secuencia (de no sabemos qué codificación) y la quiere sacar tal cual por la salida estándar (o un fichero), y al hacerlo, desaparecen los caracteres '+'.

Como no nos pone su código, no vemos dónde está el fallo, por lo que tenemos que elucubrar, intentando acertar.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Problema con la llegada de lista de caracteres

Notapor explorer » 2010-01-09 12:00 @542

No he llegado a ninguna conclusión.

Le pedí ver su código y no lo publicó, así que tuve que poner un código para demostrarle que a mí sí me funcionaba al hacer un simple print().

Supuse que la situación sería más complicada, pero jserrano no ha dado más pistas ni señales de vida.

Por eso el hilo no está (no estaba) completo.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron