O UTF-8 foi criado por Ken Thompson no dia 2 de setembro de 1992, num restaurante de Nova Jersey, juntamente com Rob Pike. No dia seguinte, Pike e Thompson implementaram-no e atualizaram o seu sistema operacional Plan 9 para passar a usá-lo.
O UTF-8 foi anunciado formalmente numa conferência USENIX em San Diego, que decorreu de 25 a 29 de janeiro de 1993.
As especificações da Microsoft para o Cab (MS Cabinet) de 1996 aceitam o uso de strings codificadas com o UTF-8 (apesar de ter sido lançado antes de o UTF-8 ter um padrão estabelecido), mas nunca chegou a ser implementado.
Quando desejamos deixar nossos dados corretos, sem caracteres esquisitos, tudo no padrão que conhecemos (UTF8), a função abaixo será muito útil.
Function ConvertUTF8 (ByVal txtFrase1 As String)
' Author: André Bernardes
' Date: 09.08.21 - 05:01
' Description: Converte caracteres ASCII no padrão UTF8.
Dim i As Long
Dim nUTF8 As String
Dim iChr As Integer
Dim iChr2 As Integer
For i = 1 To Len(txtFrase1)
iChr = Asc(Mid(txtFrase1, l, 1))
If iChr > 127 Then
If Not iChr And 32 Then
Let iChr2 = Asc(Mid(txtFrase1, l + 1, 1))
Let nUTF8 = nUTF8 & ChrW$(((31 And iChr) * 64 + (63 And iChr2)))
Let i = l + 1
Else
Dim iChr3 As Integer
Let iChr2 = Asc(Mid(txtFrase1, l + 1, 1))
Let iChr3 = Asc(Mid(txtFrase1, l + 2, 1))
Let nUTF8 = nUTF8 & ChrW$(((iChr And 15) * 16 * 256) + ((iChr2 And 63) * 64) + (iChr3 And 63))
Let i = l + 2
End If
Else
Let nUTF8 = nUTF8 & Chr$(iChr)
End If
Next l
Let ConvertUTF8 = nUTF8
End Function
O UTF-8 (8-bit Unicode Transformation Format) é um tipo de codificação binária (Unicode) de comprimento variável criado por Ken Thompson e Rob Pike. Pode representar qualquer caractere universal padrão do Unicode, sendo também compatível com o ASCII. Por esta razão, está lentamente a ser adaptado como tipo de codificação padrão para e-mail, páginas web, e outros locais onde os caracteres são armazenados.
O UTF-8 usa de um a quatro bytes (estritamente, octetos) por caractere, dependendo do símbolo Unicode que representa. É necessário apenas um byte para codificar os 128 caracteres ASCII (Unicode U+0000 a U+007F). São necessários dois bytes para caracteres Latinos com diacríticos. São também usados dois bytes para representar caracteres dos alfabetos Grego, Cirílico, Armênio, Hebraico, Sírio e Thaana (Unicode U+0080 a U+07FF). São necessários três bytes para o resto do Plano Multilingual Básico (que contém praticamente todos os caracteres comuns utilizados). Existem ainda outros caracteres que necessitam de quatro bytes.
Quatro bytes pode parecer muito para um caractere ("code point"), mas muito raramente são utilizados. Além disso, UTF-16 (a principal alternativa ao UTF-8) necessita também de quatro bytes para estes "code points". A definição de qual dos dois é mais eficiente (UTF-8 ou UTF-16) depende da variedade de "code points" usados. Contudo, as diferenças entre os vários tipos de codificação tornam-se irrelevantes com o uso de sistemas de compressão como o DEFLATE. Para textos curtos nos quais os tradicionais algoritmos não funcionam bem e se faz necessário ter o tamanho em consideração, é geralmente usado o Esquema Padrão de Compressão para Unicode (Standard Compression Scheme for Unicode).
O "Internet Engineering Task Force" (IETF) requer que todos os protocolos utilizados na Internet suportem, pelo menos, o UTF-8. O "Internet Mail Consortium" (IMC) recomenda que todos os clientes de e-mail consigam ler e criar mails usando o UTF-8.
Conheça também estes outros códigos:
Série de Livros nut Project
Série DONUT PROJECT 2015
Clique aqui e nos contate via What's App para avaliarmos seus projetos