2010-11-15 15 views
8

parece que la mayoría (si no todos) de los lectores QR en mi iPhone manipular las URLs sin la http: // muy bien, pero me preguntaba si eso es universal? ¿Androide? ¿Mora? ¿Hay un RFC algún lugar que debería estar leyendoCódigo QR con URL, ¿* REALMENTE * necesita el http: //?

Estoy construyendo un sistema de gestión acortador QR/url y me preguntaba si era absolutamente necesario. Si no, puedo eliminar 7 caracteres de las URL de mi QR y hacer que tengan el nivel más bajo de complejidad (16 caracteres o menos). Lo cual, por todo lo que he leído, es una buena cosa ™.

+0

sólo trató de escáner de código de barras en Android, y funciona sin el http: //.Sin embargo, no sé de los demás ... – MartinodF

+0

Si bien la mayoría de los lectores de QR lanzarán un navegador y asumirán http, dejarlo fuera ciertamente me molesta. ¿Cómo se supone que el teléfono debe saber que tiene la intención de HTTP? Adivina. – Brad

+0

Acabo de probar un par de escáneres más oscuros (MAAD Qr e i-nigma) y algunos simplemente lo mostraron como una cadena y no se dieron cuenta de que era una URL. Podría ser una respuesta a mi pregunta allí mismo. –

Respuesta

10

no he encontrado ninguna documentación absoluta que dice que debe tenerlo. Pero ... Después de probar varias aplicaciones de lector de QR, está claro que muchas de ellas 'adivinarán' una url si no hay http: // en ella. Pero muchos no lo hacen y lo muestran solo como una cadena. Como es una URL, realmente la necesita. Y si alguna aplicación no la lee, entonces debo inclinarme ante ella y agregarla a todas ellas.

+4

Solo por mencionar: Tuvimos un problema con respecto a las URL sin 'http: //' con varias aplicaciones iOS y en Blackberry. Agregar 'http: //' corrigió los problemas con todas las aplicaciones con las que pudimos probar. ** Conclusión: siempre agregue http: // a sus enlaces ** – Mario

7

Hey Dan yo soy el dev del escáner de código de barras y acaba de ver su pregunta. Tengo algunas cositas más de información que pueden ayudar.

No hay un "estándar" real para esto; Supongo que la especificación HTTP es lo más parecido y técnicamente dice que necesitas "http: //". This wiki tiene todo lo que creemos que sabemos sobre estándares y estándares de facto en esta área.

te puedo decir que los códigos QR tienen modos especiales para codificar sólo dígitos, y alfanumérica de sólo texto. El modo alfa incluye solo letras mayúsculas, pero incluye la puntuación clave como dos puntos y barra. Entonces, "HTTP://FOO.ORG/BAR" debería ser codificable en códigos QR en menos bytes que "http://foo.org/bar".

Las propias URL distinguen entre mayúsculas y minúsculas. No es necesariamente correcto en mayúsculas una URL. Pero la aplicación de servidor puede no distinguir entre mayúsculas y minúsculas. Si controlas los puntos finales y sabes que puedes usar mayúsculas, esta es una forma de tal vez ingresar a la versión 1.

Finalmente diré que los códigos QR de la versión 1 son un poco raros ya que no tienen un patrón de alineación. Sin un cuarto punto para encontrar, no puede (bueno, el proceso tonto pero efectivo empleado por Barcode Scanner y por extensión, muchos escáneres) tener en cuenta la distorsión de la perspectiva. Sucede que funciona con solo una pequeña inclinación. Pero la versión 2 en realidad tiene una pequeña ventaja para la decodificación con ese patrón de alineación.

+0

Muy buena información, Sean. ¡Gracias! Curiosidades interesantes sobre los códigos del ver 1 que no tienen el punto de referencia adicional. Noté eso pero nunca entendí el impacto. –

1

lectores QR suelen identificar como una URL cualquier texto que corresponden a alguno de estas condiciones:

  • texto comienza ancho http: // (o)
  • texto comienza www ancho.
  • texto comienza con MEBKM: (formato de NTT DoCoMo marcador web)

que debe estar bien sin http si su URL comienza con www. pero no es tu caso Como señala Sean, en su lugar debería usar las URL con mayúsculas.

Puede caber hasta 24 caracteres alfanuméricos en una versión 1 L nivel QR, cosa que está justo lo suficientemente para un acortador de url. Ejemplo:

HTTP://1QR.ES/AAAAAAAAAA