Dardo: URI

La clase Uri admite funciones para codificar y decodificar strings para su uso en URI (que podría conocer como URL). Estas funciones controlan caracteres que son exclusivos para URI, como & y =. Esta clase también analiza y expone los componentes de un URI: host, puerto, esquema, etc.

Codificación y decodificación de URI totalmente calificados

Los métodos encodeFull() y decodeFull() se utilizan para codificar y decodificar caracteres excepto aquellos con un significado especial en un URI (como /, :, &, #).

Ejemplo: 

Dart

void main(){
    
var uri = 'https://example.org/api?foo=some message';
  
var encoded = Uri.encodeFull(uri);
assert(encoded ==
    'https://example.org/api?foo=some%20message');
  
var decoded = Uri.decodeFull(encoded);
print(uri == decoded);
}

Producción:

true

Codificación y decodificación de componentes URI

Para codificar y decodificar todos los caracteres de una string que tienen un significado especial en un URI, incluidos (entre otros) /, & y :, utilice los métodos encodeComponent() y decodeComponent ( ) .

Ejemplo:

Dart

void main(){
    
var uri = 'https://example.org/api?foo=some message';
  
var encoded = Uri.encodeComponent(uri);
assert(encoded ==
    'https%3A%2F%2Fexample.org%2Fapi%3Ffoo%3Dsome%20message');
  
var decoded = Uri.decodeComponent(encoded);
print(uri == decoded);
}

Producción:

true

Análisis de URI

Si tiene un objeto URI o una string URI, puede obtener sus partes utilizando campos URI como la ruta. Para crear un URI a partir de una string, utilice el método estático parse().

Ejemplo:

Dart

void main(){
    
var uri =
    Uri.parse('https://example.org:8080/foo/bar#frag');
  
assert(uri.scheme == 'https');
assert(uri.host == 'example.org');
assert(uri.path == '/foo/bar');
assert(uri.fragment == 'frag');
print(uri.origin == 'https://example.org:8080');
}

Producción:

true

Construcción de URI

Puede usar el constructor Uri() para construir un URI a partir de partes individuales

Ejemplo:

Dart

void main(){
    
var uri = Uri(
    scheme: 'https',
    host: 'example.org',
    path: '/foo/bar',
    fragment: 'frag');
print(
    uri.toString() == 'https://example.org/foo/bar#frag');
}

Producción:

true

Publicación traducida automáticamente

Artículo escrito por ddeevviissaavviittaa y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *