Option Explicit
Function UHexaTexte(ByVal Texte As String) As String
Rem. —— Renvoie un texte dont chaque caractères de code ASCII > 127 est remplacé
' par "\u" suivi de ce code en hexadécimal de 4 de long.
Dim TJn() As String, P As Long, C As String * 1, A As Integer, J As Long
ReDim TJn(0 To 0)
For P = 1 To Len(Texte)
C = Mid$(Texte, P, 1): A = AscW(C)
If A > 127 Then
J = J + 1: ReDim Preserve TJn(0 To J)
TJn(J) = Right$("000" & Hex$(A), 4)
Else
TJn(J) = TJn(J) & C
End If: Next P
UHexaTexte = Join$(TJn, "\u")
End Function
Function TexteUHexa(ByVal UHexa As String) As String
Rem. —— Renvoie un texte dont chaque groupe "\u" suivi d'un code hexadécimal de 4 de long
' est remplacé par le caractère ayant cette valeur pour code ASCII.
Dim TJn() As String, J As Long
TJn = Split(UHexa, "\u")
For J = 1 To UBound(TJn): TJn(J) = ChrW$(Val("&H" & Left$(TJn(J), 4))) & Mid$(TJn(J), 5): Next J
TexteUHexa = Join$(TJn, "")
End Function