Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Texto Con Caracter Unicode Escrito De Forma Expllicita.
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Texto Con Caracter Unicode Escrito De Forma Expllicita. 
 
Hola a todos.
Alguien sabe como reemplazar los textos que incluyen la definicion de un caracter unicode, por ejemplo 180\U+00B0 para que quede el caracter, por ejejemplo 180°??
Estoy buscando la forma general, ya que por supuesto que Replace funcionaria para el caso particular.
Por ejemplo:
Unicode Character “°” (U+00B0)
s = Replace(s, "\\U+00B0", "°")


SAludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Texto Con Caracter Unicode Escrito De Forma Expllicita. 
 
Espero te sirva la siguiente línea

Print "180" & String.Chr(&h00B0&)

Aunque pienso que debe haber ya alguna función en algún componente que actúe en toda la cadena.
 



 
razaAztk - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuarioVer la galería personal del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Texto Con Caracter Unicode Escrito De Forma Expllicita. 
 
razaAztk escribió:  
...Aunque pienso que debe haber ya alguna función en algún componente que actúe en toda la cadena.

Si, eso es lo que intento saber.
Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Texto Con Caracter Unicode Escrito De Forma Expllicita. 
 
tincho escribió:  
Si, eso es lo que intento saber.


Perdona, la solución de  razaAztk no te parece bien?  
No comprendo, scusami !
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Texto Con Caracter Unicode Escrito De Forma Expllicita. 
 
vuott escribió:  
tincho escribió:  
Si, eso es lo que intento saber.

Perdona, la solución de  razaAztk no te parece bien?  
No comprendo, scusami !

Si Vuott, la propuesta de convertir como dice razaAztk me parece bien, de hecho es mejor que la que uso yo ahora, que es similar.
El problema que no resuelvo de momento es detectar cuando aparece un caracter de estos. Pero no reviste complicaciones lo haré con algo de:
InStr("\U+")

Pero intento saber si existe en gambas algo mas general como por ejemplo.
s = Conv$(s, "ISO-8859-1", "UTF-8")

Que funciona para algunos caracteres del estilo "\D1" pero no para los del estilo unicode, es decir "\U+AAAA"
Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Texto Con Caracter Unicode Escrito De Forma Expllicita. 
 
razaAztk escribió:  
Espero te sirva la siguiente línea
Print "180" & String.Chr(&h00B0&)
Aunque pienso que debe haber ya alguna función en algún componente que actúe en toda la cadena.

Bueno, en base a tu propuesta hice esta función general que pondre en la lista de agregados a String
'' This function replace unicode like \U+0023 by # the character

Public Function Flat(s As String) As String

  Dim k As Integer = 1
  Dim q As Integer
  Dim r As Integer

  Dim uni As String
  Dim stx As New String[]
  Dim u As String
  Dim rep As String
  Dim i As Integer

  Repeat
    q = InStr(s, "\\U+", k)
    If q > 0 Then
      Inc r
      uni = String.Mid(s, q, 7)
      stx.Add(uni)
      k = q + String.Len("\\U+")
    Endif
  Until InStr(s, "\\U+", k) = 0 Or k > String.Len(s)

  For Each u In stx
    i = Val("&h" & String.Mid(u, 4, 4) & "&")
    rep = String.Chr(i)
    s = Replace(s, u, rep)
  Next

  Return s

End
 

Gracias razaAztk
Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Texto Con Caracter Unicode Escrito De Forma Expllicita. 
 
Bueno, aquí está mi implementación:

USE "gb.pcre"

Public Function decodeUnicode(s As String) As String
  
  Dim rMatch As New RegExp
  Dim tmp As String
  Dim sx As String
  
  rMatch.Compile("\\\\U\\+[0-9a-fA-F]{4}", RegExp.MultiLine)
  rMatch.Exec(s)
  
  tmp = s
  sx = s
  do while rMatch.text <> ""
    sx = Replace$(sx, rMatch.text, String.Chr(Val(Replace$(rMatch.text, "\\U+", "&h"))))
    tmp = mid(tmp, rMatch.offset + 2)
    rMatch.Exec(tmp)
  loop

  Return sx
End



Dim xString As String

xString = "The slyly jumped over \\U+00FFAAA 0xFFFF the 180\\U+00B0 lazy dog \\U+00A9"
Print xString
Print decodeUnicode(xString) 'The slyly jumped over ÿAAA 0xFFFF the 180° lazy dog ©

 

 



 
razaAztk - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuarioVer la galería personal del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Texto Con Caracter Unicode Escrito De Forma Expllicita. 
 
razaAztk escribió:  
Bueno, aquí está mi implementación:...

Si señor, muy bien, seguro es mas rápido con gb.pcre
Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Un Problema Con El Caracter De La ñ Shell General 5 Jueves, 02 Junio 2011, 10:08 Ver último mensaje
Shell
No hay nuevos mensajes Meter En Un Array Cada Caracter De Una Cad... Cubel General 2 Miercoles, 31 Julio 2013, 13:40 Ver último mensaje
Cubel
No hay nuevos mensajes Obtener El Resultado De Un Desplazamiento ... vuott Aplicaciones/Fragmentos de Código 4 Jueves, 31 Marzo 2016, 15:34 Ver último mensaje
vuott
No hay nuevos mensajes Igualar Longitud De Texto Por Alguna Forma... gambafeliz General 15 Lunes, 26 Agosto 2019, 09:30 Ver último mensaje
gambafeliz
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron