2010-11-15 12 views
8

Sembra che la maggior parte (se non tutti) i lettori QR sul mio iPhone gestiscano gli URL senza lo http: // bene, ma mi chiedevo se fosse universale? Android? Mora? C'è un RFC da qualche parte che dovrei leggereCodice QR con URL, lo fa * DAVVERO * bisogno di http: //?

Sto costruendo un sistema di gestione/abbreviazione di url QR e mi chiedevo se fosse assolutamente necessario. In caso contrario, posso eliminare 7 caratteri dagli URL del mio QR e renderli il livello più basso di complessità (16 caratteri o meno). Che, da tutto ciò che ho letto, è una buona cosa ™.

+0

appena provato Barcode Scanner su Android, e funziona senza l'http: //.Non so degli altri però .. – MartinodF

+0

Mentre la maggior parte dei lettori di QR lancerà un browser e assumerà http, lasciandolo fuori mi dà fastidio. Come si suppone che il telefono sappia che si intende HTTP? Suppone. – Brad

+0

Ho appena provato un paio di scanner più oscuri (MAAD Qr e i-nigma) e alcuni hanno appena mostrato una stringa e non si sono resi conto che si trattava di un URL. Potrebbe essere una risposta alla mia domanda proprio lì. –

risposta

10

Non ho trovato alcuna documentazione assoluta che dice che deve averlo. Ma ... Dopo aver testato un numero di app di lettore QR, è chiaro che molti di loro "indovineranno" in un url se non ci sono http: // in esso. Ma molti non lo fanno e lo mostrano come una semplice stringa. Dal momento che è un URL, ne ha davvero bisogno. E se qualche app non lo leggerà, allora devo inchinarmi a loro e aggiungerlo per tutti loro.

+4

Solo per citare: abbiamo riscontrato un problema relativo agli URL senza "http: //" con diverse app iOS e su Blackberry. Aggiungendo "http: //" sono stati risolti i problemi con tutte le app che eravamo in grado di testare. ** Conclusione: aggiungi sempre http: // ai tuoi link ** – Mario

7

Hey Dan Io sono il dev di Barcode Scanner e ho appena visto la tua domanda. Ho qualche informazione in più che potrebbe essere d'aiuto.

Non esiste un vero "standard" per questo; Suppongo che la specifica HTTP sia la cosa più vicina e tecnicamente dice che è necessario "http: //". This wiki ha tutto ciò che pensiamo di sapere sugli standard e sugli standard de facto in questo settore.

Posso dirti che i codici QR hanno modalità speciali per codificare solo cifre e testo alfanumerico. La modalità alfa include solo lettere maiuscole, ma include la punteggiatura delle chiavi come il colon e la barra. Pertanto, "HTTP://FOO.ORG/BAR" dovrebbe essere codificato in codici QR in meno byte rispetto a "http://foo.org/bar".

Gli URL stessi sono case-sensitive tuttavia. Non è necessariamente OK mettere in maiuscolo un URL. Ma l'applicazione server potrebbe non distinguere tra maiuscole e minuscole. Se controlli gli endpoint e sai che puoi usare tutto in maiuscolo, questo è forse un modo per entrare nella versione 1.

Infine, dirò che i codici QR versione 1 sono un po 'strani perché non hanno un modello di allineamento. Senza un quarto punto da scoprire, non è possibile (beh, il processo stupido ma efficace impiegato da Barcode Scanner e dall'estensione di molti scanner) tiene conto della distorsione prospettica. Capita di lavorare solo con una piccola inclinazione. Ma la versione 2 in realtà ha un piccolo vantaggio per la decodificabilità con quel modello di allineamento.

+0

Ottime informazioni, Sean. Grazie! Curiosità interessante riguardo ai codici ver 1 che non hanno il punto di riferimento in più. Notato questo, ma non ha mai capito l'impatto. –

1

lettori QR solitamente identificano come un URL qualsiasi testo che rispondono a nessuna di queste condizioni:

  • testo inizia larghezza http: // (o)
  • testo inizia larghezza www.
  • testo inizia con MEBKM: (formato NTT DoCoMo per il web bookmark)

Si dovrebbe andare bene senza http Se l'URL inizia con www. ma non è il tuo caso. Come sottolineato da Sean, dovresti usare invece gli URL maiuscoli.

È possibile inserire fino a 24 caratteri alfanumerici in un QR L di livello 1 della versione 1, che è appena sufficiente per un abbreviazione URL. Esempio:

HTTP://1QR.ES/AAAAAAAAAA

Problemi correlati