Visual Basic.NET - codificar a utf8

   
Vista:

codificar a utf8

Publicado por nadia (10 intervenciones) el 13/08/2010 17:53:16
Hola que tal!!!

Necesito codificar una cadena a UTF8. Tengo un código para una función en vb.net pero al llamarla y pasarle un string me marca un error, alguien me podría ayudar porfavor.

Este es el código de la función que tengo:

Public Function StringAsUtf8Bytes(ByVal strData As String) As Byte()

Dim bytes() As Byte
bytes = Encoding.UTF8.GetBytes(strData)
Return bytes

End Function

Aqui es donde me mearca error:

variable = StringAsUtf8Bytes("Hola")
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de roger

RE:codificar a utf8

Publicado por roger (186 intervenciones) el 13/08/2010 20:17:03
y que error te marca?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:codificar a utf8

Publicado por nadia (10 intervenciones) el 13/08/2010 20:21:03
El error es el siguiente:

Value of type '1-dimensional array of byte' cannot be converted to 'String'

espero me pueds ayudar, gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de roger

RE:codificar a utf8

Publicado por roger (186 intervenciones) el 13/08/2010 23:53:52
pareciera que cuando haces esto
variable = StringAsUtf8Bytes("Hola")

variable es de tipo string, por lo cual no se le puede asignar el resultado de la funcion StringAsUtf8Bytes que retorna un arreglo de bytes (byte())
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:codificar a utf8

Publicado por Huguin (83 intervenciones) el 16/08/2010 18:39:44
Como te indica Roger, estas tratando de asigar a un String un Array de Bytes(), si quieres asignarle a un string, deberias hacer algo como esto:

Dim xByte() As Byte
xByte = StringAsUtf8Bytes("Hola")
Dim variable As String = ""
For n As Integer = 0 To xByte.Length - 1
variable = variable & xByte.GetValue(n) & ", "
Next
MsgBox(variable)

---------------------------------
Saludos...!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar