Bonjour,
j'ai besoin de convertir des chaine de caractères qui sont en UTF-8 par défaut en code ANSI.
merci
Bonjour,
j'ai besoin de convertir des chaine de caractères qui sont en UTF-8 par défaut en code ANSI.
merci
Salut,
Sinon en cherchant un peu, j'ai aussi trouvé cette classe qui devrait faire l'affaire pour une chaine de caractère :
Ce code n'est pas de moi et il peut être optimisé. La source est disponible ici.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 Imports System.Text Public Class clsUTF8 #Region "Decode" Public Function Decode(ByVal strUTFString As String) As String Dim bytString() As Byte = StringToByteArray(strUTFString) Dim chrChars() As Char Dim i chrChars = Encoding.UTF8.GetChars(bytString) For i = 0 To UBound(chrChars) Decode += chrChars(i) Next End Function #End Region #Region "Encode" Public Function Encode(ByVal strString) As String Dim bytBuffer() As Byte Dim i bytBuffer = Encoding.UTF8.GetBytes(strString) For i = 0 To UBound(bytBuffer) Encode += Chr(bytBuffer(i)) Next End Function #End Region Private Function StringToByteArray(ByVal strString As String) As Byte() Dim bytBuffer() As Byte Dim i ReDim bytBuffer(Len(strString) - 1) For i = 0 To UBound(bytBuffer) bytBuffer(i) = CByte(Asc(Mid(strString, i + 1, 1))) Next Return bytBuffer End Function End Class
Partager