Differenze tra le versioni di "Decodificare con le risorse del API di Libidn i nomi di dominio internazionalizzati"
Da Gambas-it.org - Wikipedia.
Riga 1: | Riga 1: | ||
La libreria '''Libidn''' consente di codificare e decodificare nomi di dominio internazionalizzati, ossia nomi di dominio contenenti uno o più caratteri non ASCII. | La libreria '''Libidn''' consente di codificare e decodificare nomi di dominio internazionalizzati, ossia nomi di dominio contenenti uno o più caratteri non ASCII. | ||
− | Per poter fruire in Gambas delle risorse della libreria ''Libidn'', bisognerà avere installata e richiamare la libreria | + | Per poter fruire in Gambas delle risorse della libreria ''Libidn'', bisognerà avere installata e richiamare la libreria condivisa: ''libidn.so.12.6.4'' |
Mostriamo un semplice esempio per decodificare un nome di dominio internazionalizzato nel corrispondente etichetta ASCII. Se la decodifica ha successo, La sequenza originale di caratteri non-ASCII e la sequenza risultante ASCII sono etichette equivalenti. | Mostriamo un semplice esempio per decodificare un nome di dominio internazionalizzato nel corrispondente etichetta ASCII. Se la decodifica ha successo, La sequenza originale di caratteri non-ASCII e la sequenza risultante ASCII sono etichette equivalenti. | ||
− | Library "libidn:12.6. | + | Library "libidn:12.6.4" |
Private Const IDNA_SUCCESS As Integer = 0 | Private Const IDNA_SUCCESS As Integer = 0 | ||
Riga 33: | Riga 33: | ||
End | End | ||
− | Fare, ad esempio, la prova con il dominio internazionalizzato: | + | Fare, ad esempio, la prova con il dominio internazionalizzato: 日本レジストリサービス.jp |
<BR>Quindi lanciare nella barra degli indirizzi web il risultato ottenuto dalla conversione. | <BR>Quindi lanciare nella barra degli indirizzi web il risultato ottenuto dalla conversione. | ||
Versione attuale delle 06:39, 20 gen 2024
La libreria Libidn consente di codificare e decodificare nomi di dominio internazionalizzati, ossia nomi di dominio contenenti uno o più caratteri non ASCII.
Per poter fruire in Gambas delle risorse della libreria Libidn, bisognerà avere installata e richiamare la libreria condivisa: libidn.so.12.6.4
Mostriamo un semplice esempio per decodificare un nome di dominio internazionalizzato nel corrispondente etichetta ASCII. Se la decodifica ha successo, La sequenza originale di caratteri non-ASCII e la sequenza risultante ASCII sono etichette equivalenti.
Library "libidn:12.6.4" Private Const IDNA_SUCCESS As Integer = 0 ' int idna_to_ascii_lz (const char *input, char **output, int flags) ' Convert domain name in the locale's encoding to ASCII string. Private Extern idna_to_ascii_lz(idnin As String, idnout As Pointer, flags As Integer) As Integer ' const char *idna_strerror (Idna_rc rc) ' Convert a return code integer to a text string. Private Extern idna_strerror(rc As Integer) As String Public Sub Main() Dim s As String Dim p As Pointer Dim ris As Integer Print "Immettere dominio codificato (internazionalizzato):" Input s ris = idna_to_ascii_lz(s, VarPtr(p), 0) If ris > IDNA_SUCCESS Then Error.Raise("Decodifica in ASCII fallita (" & ris & "): " & idna_strerror(ris)) Print "\nRisultato:\n"; String@(p) End
Fare, ad esempio, la prova con il dominio internazionalizzato: 日本レジストリサービス.jp
Quindi lanciare nella barra degli indirizzi web il risultato ottenuto dalla conversione.