Comunidad Gambas-es

Versión completa: Extendiendo la clase String - Flat
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Esta función la hice porque al leer datos de planos dwg, con la librería LibreDWG, algunos textos no se representaban correctamente debido a errores de codificación.
Tal vez luego pueda evolucionar a una versión mas general y amplia que abarque mas casos.
GAMBAS
  1. '' <b>RAD Extension.</b><br>
  2. '' Returns a string with all its characters converted to ascii or utf-8 when bad codification ocurr.
  3.  
  4.  
  5.   Dim k As Integer = 1
  6.  
  7.   Dim uni As String
  8.   Dim stx As New String[]
  9.   Dim rep As String
  10.  
  11.     q = InStr(s, "\\U+", k)
  12.     If q > 0 Then
  13.       Inc r
  14.       uni = String.Mid(s, q, 7)
  15.       stx.Add(uni)
  16.       k = q + String.Len("\\U+")
  17.     Endif
  18.   Until InStr(s, "\\U+", k) = 0 Or k > String.Len(s)
  19.  
  20.   For Each u In stx
  21.     i = Val("&h" & String.Mid(u, 4, 4) & "&")
  22.     rep = String.Chr(i)
  23.     s = Replace(s, u, rep)
  24.   Next
  25.  
  26.   Return s
  27.  


Saludos.