Programação de dardo - Runas
Strings são uma sequência de caracteres. Dart representa strings como uma sequência de unidades de código Unicode UTF-16. Unicode é um formato que define um valor numérico exclusivo para cada letra, dígito e símbolo.
Como uma string Dart é uma sequência de unidades de código UTF-16, os valores Unicode de 32 bits em uma string são representados por meio de uma sintaxe especial. UMArune é um número inteiro que representa um ponto de código Unicode.
A classe String no dart:core biblioteca fornece mecanismos para acessar runes. As unidades / runas do código da string podem ser acessadas de três maneiras -
- Usando a função String.codeUnitAt ()
- Usando a propriedade String.codeUnits
- Usando a propriedade String.runes
Função String.codeUnitAt ()
As unidades de código em uma string podem ser acessadas por meio de seus índices. Retorna a unidade de código UTF-16 de 16 bits no índice fornecido.
Sintaxe
String.codeUnitAt(int index);
Exemplo
import 'dart:core';
void main(){
f1();
}
f1() {
String x = 'Runes';
print(x.codeUnitAt(0));
}
Irá produzir o seguinte output -
82
Propriedade String.codeUnits
Esta propriedade retorna uma lista não modificável das unidades de código UTF-16 da string especificada.
Sintaxe
String. codeUnits;
Exemplo
import 'dart:core';
void main(){
f1();
}
f1() {
String x = 'Runes';
print(x.codeUnits);
}
Irá produzir o seguinte output -
[82, 117, 110, 101, 115]
Propriedade String.runes
Esta propriedade retorna um iterável de pontos de código Unicode deste string.Runes estende iterável.
Sintaxe
String.runes
Exemplo
void main(){
"A string".runes.forEach((int rune) {
var character=new String.fromCharCode(rune);
print(character);
});
}
Irá produzir o seguinte output -
A
s
t
r
i
n
g
Os pontos de código Unicode são geralmente expressos como \uXXXX, onde XXXX é um valor hexadecimal de 4 dígitos. Para especificar mais ou menos de 4 dígitos hexadecimais, coloque o valor entre colchetes. Pode-se usar o construtor da classe Runes na biblioteca dart: core para o mesmo.
Exemplo
main() {
Runes input = new Runes(' \u{1f605} ');
print(new String.fromCharCodes(input));
}
Irá produzir o seguinte output -