Buongiorno Oregon
Ho esaminato il link che mi hai dato e ho fatto delle prove inserendolo in un form. Ecco il listato della routine
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    'Dim strings() As String = {"This is the first sentence. ",
    '                          "This is the second sentence. "}
    Dim strings(2) As String
    Dim utf16Encoding As Encoding = Encoding.Unicode
    ListBox1.Items.Clear()
    ' Create array of adequate size.
    Dim bytes(50) As Byte
    ' Create index for current position of array.
    Dim index As Integer = 0
    strings(0) = TextBox1.Text
    ListBox1.Items.Add("Strings to encode:")
    For Each stringValue In strings
        If stringValue Is Nothing Then Continue For
        ListBox1.Items.Add("            " & stringValue)
        Dim count As Integer = utf16Encoding.GetByteCount(stringValue)
        If count + index >= bytes.Length Then
            Array.Resize(bytes, bytes.Length + 50)
        End If
        Dim written As Integer = utf16Encoding.GetBytes(stringValue, 0, stringValue.Length, bytes, index)
        index += written
    Next
    'Console.WriteLine()
    ListBox1.Items.Add("Encoded bytes:")
    Dim vshow As String = ShowByteValues(bytes, index)
    ListBox1.Items.Add("          " & vshow)
    'Console.WriteLine()
    ' Decode Unicode byte array to a string.
    Dim asciiEncoding As Encoding = Encoding.UTF8
    Dim newString As String = asciiEncoding.GetString(bytes, 0, index)
    Dim NormString As String = NormalizzaString(bytes, index)
    Label1.Text = NormString
    'Console.WriteLine("Decoded: {0}", newString)
End Sub
Private Function ShowByteValues(bytes As Byte(), last As Integer) As String
    Dim returnString As String = "   "
    For ctr As Integer = 0 To last - 1
        If ctr Mod 20 = 0 Then returnString += vbCrLf + "   "
        returnString += String.Format("{0:X2} ", bytes(ctr))
    Next
    Return returnString
End Function
Private Function NormalizzaString(bytes As Byte(), last As Integer) As String
    Dim NormString As String = "", num As Integer
    For ctr As Integer = 0 To last - 1 Step 2
        num = bytes(ctr)
        'If ctr Mod 20 = 0 Then returnString += vbCrLf + "   "
        NormString += Chr(num)
    Next
    Return NormString
End Function
La stringa di partenza è in UTF-16   e ho cambiato la riga iniziale
 Dim utf16Encoding As Encoding = Encoding.Unicode
la riga è ABCDEFGH
la decodifica deve avvenire in UTF-8 
Dim asciiEncoding As Encoding = Encoding.UTF8
l'istruzione:  Dim newString As String = asciiEncoding.GetString(bytes, 0, index)
fornisce una stringa con le lettere da me digitate accompagnate da un vbnull ciascuna
Come Mai?
Ho creato una funzione di prova che mi toglie il  vbnull ma è un accrocco temporaneo
Private Function NormalizzaString(bytes As Byte(), last As Integer) As String
    Dim NormString As String = "", num As Integer
    For ctr As Integer = 0 To last - 1 Step 2
        num = bytes(ctr)
        NormString += Chr(num)
    Next
    Return NormString
End Function
grazie per l'attenzione 
Franco