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 dinamica condivisa: ''libidn.so.12.6.3''
+
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.3"
+
  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: ''日本レジストリサービス.jp''
+
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.



Riferimenti