¿Cuál es la diferencia entre UTF-8 y Unicode?

542
sarsnake 2009-03-14 07:06.

He escuchado opiniones contradictorias de personas, según la página de Wikipedia UTF-8 .

Son lo mismo, ¿no? ¿Alguien puede aclarar?

15 answers

526
Noname 2009-03-14 07:37.

Para ampliar las respuestas que otros han dado:

Tenemos muchos idiomas con muchos caracteres que las computadoras deberían mostrar idealmente. Unicode asigna a cada carácter un número único o punto de código.

Las computadoras manejan números como bytes ... omitiendo un poco de historia aquí e ignorando los problemas de dirección de memoria, las computadoras de 8 bits tratarían un byte de 8 bits como la unidad numérica más grande fácilmente representada en el hardware, las computadoras de 16 bits se expandirían eso a dos bytes, y así sucesivamente.

Las codificaciones de caracteres antiguas, como ASCII, son de la era (anterior) de los 8 bits y tratan de agrupar el idioma dominante en la informática en ese momento, es decir, el inglés, en números que van de 0 a 127 (7 bits). Con 26 letras en el alfabeto, tanto en mayúsculas como en no mayúsculas, números y signos de puntuación, funcionó bastante bien. ASCII se extendió en un octavo bit para otros idiomas distintos del inglés, pero los 128 números / puntos de código adicionales disponibles por esta expansión se asignarían a diferentes caracteres según el idioma que se muestre. Los estándares ISO-8859 son las formas más comunes de este mapeo; ISO-8859-1 e ISO-8859-15 (también conocido como ISO-Latin-1, latin1, y sí, también hay dos versiones diferentes del estándar ISO 8859).

Pero eso no es suficiente cuando desea representar caracteres de más de un idioma, por lo que agrupar todos los caracteres disponibles en un solo byte simplemente no funcionará.

Básicamente, hay dos tipos diferentes de codificaciones: uno expande el rango de valores agregando más bits. Ejemplos de estas codificaciones serían UCS2 (2 bytes = 16 bits) y UCS4 (4 bytes = 32 bits). Sufren inherentemente el mismo problema que las normas ASCII e ISO-8859, ya que su rango de valores sigue siendo limitado, incluso si el límite es mucho más alto.

El otro tipo de codificación usa un número variable de bytes por carácter, y las codificaciones más comúnmente conocidas para esto son las codificaciones UTF. Todas las codificaciones UTF funcionan aproximadamente de la misma manera: usted elige un tamaño de unidad, que para UTF-8 es de 8 bits, para UTF-16 es de 16 bits y para UTF-32 es de 32 bits. Luego, el estándar define algunos de estos bits como banderas: si están configurados, la siguiente unidad en una secuencia de unidades debe considerarse parte del mismo carácter. Si no están configurados, esta unidad representa un carácter completamente. Por lo tanto, los caracteres más comunes (inglés) solo ocupan un byte en UTF-8 (dos en UTF-16, 4 en UTF-32), pero otros caracteres del idioma pueden ocupar seis bytes o más.

Las codificaciones de varios bytes (debería decir de varias unidades después de la explicación anterior) tienen la ventaja de que son relativamente eficientes en cuanto al espacio, pero la desventaja es que las operaciones como encontrar subcadenas, comparaciones, etc., tienen que decodificar los caracteres en código Unicode. puntos antes de que se puedan realizar tales operaciones (aunque existen algunos atajos).

Tanto los estándares UCS como los estándares UTF codifican los puntos de código como se define en Unicode. En teoría, esas codificaciones podrían usarse para codificar cualquier número (dentro del rango que admite la codificación), pero, por supuesto, estas codificaciones se hicieron para codificar puntos de código Unicode. Y esa es tu relación entre ellos.

Windows maneja las llamadas cadenas "Unicode" como cadenas UTF-16, mientras que la mayoría de los UNIX utilizan UTF-8 por defecto en estos días. Los protocolos de comunicación como HTTP tienden a funcionar mejor con UTF-8, ya que el tamaño de la unidad en UTF-8 es el mismo que en ASCII, y la mayoría de estos protocolos se diseñaron en la era ASCII. Por otro lado, UTF-16 ofrece el mejor rendimiento promedio de espacio / procesamiento al representar todos los lenguajes vivos.

El estándar Unicode define menos puntos de código de los que se pueden representar en 32 bits. Por lo tanto, para todos los propósitos prácticos, UTF-32 y UCS4 se convirtieron en la misma codificación, ya que es poco probable que tenga que lidiar con caracteres de unidades múltiples en UTF-32.

Espero que complete algunos detalles.

258
Cheng 2015-01-14 23:07.

Permítanme usar un ejemplo para ilustrar este tema:

A chinese character:      汉
it's unicode value:       U+6C49
convert 6C49 to binary:   01101100 01001001

Nada mágico hasta ahora, es muy simple. Ahora, digamos que decidimos almacenar este carácter en nuestro disco duro. Para hacer eso, necesitamos almacenar el carácter en formato binario. Simplemente podemos almacenarlo como está '01101100 01001001'. ¡Hecho!

Pero espere un minuto, ¿es '01101100 01001001' uno o dos caracteres? Sabías que este es un carácter porque te lo dije, pero cuando una computadora lo lee, no tiene idea. Así que necesitamos algún tipo de "codificación" para decirle a la computadora que lo trate como tal.

Aquí es donde entran las reglas de 'UTF-8': http://www.fileformat.info/info/unicode/utf8.htm

Binary format of bytes in sequence

1st Byte    2nd Byte    3rd Byte    4th Byte    Number of Free Bits   Maximum Expressible Unicode Value
0xxxxxxx                                                7             007F hex (127)
110xxxxx    10xxxxxx                                (5+6)=11          07FF hex (2047)
1110xxxx    10xxxxxx    10xxxxxx                  (4+6+6)=16          FFFF hex (65535)
11110xxx    10xxxxxx    10xxxxxx    10xxxxxx    (3+6+6+6)=21          10FFFF hex (1,114,111)

De acuerdo con la tabla anterior, si queremos almacenar este carácter usando el formato 'UTF-8', necesitamos prefijar nuestro carácter con algunos 'encabezados'. Nuestro carácter chino tiene una longitud de 16 bits (cuente el valor binario usted mismo), por lo que usaremos el formato en la fila 3 ya que proporciona suficiente espacio:

Header  Place holder    Fill in our Binary   Result         
1110    xxxx            0110                 11100110
10      xxxxxx          110001               10110001
10      xxxxxx          001001               10001001

Escribiendo el resultado en una línea:

11100110 10110001 10001001

¡Este es el valor UTF-8 (binario) del carácter chino! (confírmelo usted mismo:http://www.fileformat.info/info/unicode/char/6c49/index.htm)

Resumen

A chinese character:      汉
it's unicode value:       U+6C49
convert 6C49 to binary:   01101100 01001001
embed 6C49 as UTF-8:      11100110 10110001 10001001

PD Si desea aprender este tema en Python, haga clic aquí

204
Jon Skeet 2009-03-14 07:11.

Desafortunadamente, "Unicode" se usa de varias formas diferentes, según el contexto. Su uso más correcto (IMO) es como un conjunto de caracteres codificados , es decir, un conjunto de caracteres y un mapeo entre los caracteres y los puntos de código entero que los representan.

UTF-8 es una codificación de caracteres, una forma de convertir de secuencias de bytes a secuencias de caracteres y viceversa. Cubre todo el conjunto de caracteres Unicode. ASCII se codifica como un solo byte por carácter, y otros caracteres toman más bytes dependiendo de su punto de código exacto (hasta 4 bytes para todos los puntos de código definidos actualmente, es decir, hasta U-0010FFFF, y de hecho 4 bytes podrían hacer frente a hasta U-001FFFFF).

Cuando se usa "Unicode" como el nombre de una codificación de caracteres (por ejemplo, como la propiedad .NET Encoding.Unicode ), generalmente significa UTF-16 , que codifica los caracteres más comunes como dos bytes. Algunas plataformas (especialmente .NET y Java) utilizan UTF-16 como su codificación de caracteres "nativa". Esto conduce a problemas complicados si necesita preocuparse por los caracteres que no se pueden codificar en un solo valor UTF-16 (están codificados como "pares sustitutos"), pero la mayoría de los desarrolladores nunca se preocupan por esto, IME.

Algunas referencias sobre Unicode:

  • El sitio web del consorcio Unicode y, en particular, la sección de tutoriales
  • El artículo de Joel
  • Mi propio artículo (orientado a .NET)
112
Greg 2009-03-14 07:09.

No son lo mismo: UTF-8 es una forma particular de codificar Unicode.

Hay muchas codificaciones diferentes entre las que puede elegir según su aplicación y los datos que desee utilizar. Los más comunes son UTF-8, UTF-16 y UTF-32 hasta donde yo sé.

74
Martin Cote 2009-03-14 07:14.

Unicode solo define puntos de código , es decir, un número que representa un carácter. La forma de almacenar estos puntos de código en la memoria depende de la codificación que esté utilizando. UTF-8 es una forma de codificar caracteres Unicode, entre muchas otras.

35
nightlytrails 2013-02-25 08:36.

Unicode es un estándar que define, junto con ISO / IEC 10646, Universal Character Set (UCS), que es un superconjunto de todos los caracteres existentes necesarios para representar prácticamente todos los idiomas conocidos.

Unicode asigna un nombre y un número ( código de carácter o punto de código ) a cada carácter de su repertorio.

La codificación UTF-8 es una forma de representar estos caracteres digitalmente en la memoria de la computadora. UTF-8 mapea cada punto de código en una secuencia de octetos (bytes de 8 bits)

Por ejemplo,

Carácter UCS = Carácter Han Unicode

Punto de código UCS = U + 24B62

Codificación UTF-8 = F0 A4 AD A2 (hex) = 11110000 10100100 10101101 10100010 (bin)

24
Gumbo 2009-03-14 07:37.

Unicode es solo un estándar que define un juego de caracteres ( UCS ) y codificaciones ( UTF ) para codificar este juego de caracteres. Pero en general, Unicode se refiere al juego de caracteres y no al estándar.

Lea el mínimo absoluto que todo desarrollador de software debe conocer absoluta y positivamente sobre Unicode y conjuntos de caracteres (¡sin excusas!) Y Unicode en 5 minutos .

23
basic6 2014-05-20 03:57.

Las respuestas existentes ya explican muchos detalles, pero aquí hay una respuesta muy corta con la explicación y el ejemplo más directos.

Unicode es el estándar que asigna caracteres a puntos de código.
Cada carácter tiene un punto de código único (número de identificación), que es un número como 9731.

UTF-8 es la codificación de los puntos de código.
Para almacenar todos los caracteres en el disco (en un archivo), UTF-8 divide los caracteres en hasta 4 octetos (secuencias de 8 bits) - bytes. UTF-8 es una de varias codificaciones (métodos de representación de datos). Por ejemplo, en Unicode, el punto de código (decimal) 9731 representa un muñeco de nieve ( ), que consta de 3 bytes en UTF-8:E2 98 83

Aquí hay una lista ordenada con algunos ejemplos aleatorios .

16
wengeezhang 2015-01-05 23:28.

1. Unicode

Hay muchos caracteres en todo el mundo, como "$, &, h, a, t,?, 张, 1, =, + ...".

Luego viene una organización que se dedica a estos personajes,

Hicieron un estándar llamado "Unicode".

El estándar es el siguiente:

  • cree un formulario en el que cada posición se denomine "punto de código" o "posición de código".
  • Todas las posiciones son de U + 0000 a U + 10FFFF;
  • Hasta ahora, algunas posiciones están llenas de personajes y otras posiciones están guardadas o vacías.
  • Por ejemplo, la posición "U + 0024" se rellena con el carácter "$".

PD: Por supuesto que hay otra organización llamada ISO que mantiene otro estándar: "ISO 10646", casi el mismo.

2. UTF-8

Como arriba, U + 0024 es solo una posición, por lo que no podemos guardar "U + 0024" en la computadora para el carácter "$".

Debe haber un método de codificación.

Luego vienen los métodos de codificación, como UTF-8, UTF-16, UTF-32, UCS-2 ...

En UTF-8, el punto de código "U + 0024" se codifica en 00100100.

00100100 es el valor que guardamos en la computadora para "$".

12
kommradHomer 2011-05-30 23:37.

Revisé los enlaces en la respuesta de Gumbo y quería pegar parte de esas cosas aquí para que también existieran en Stack Overflow.

"... Algunas personas tienen la idea errónea de que Unicode es simplemente un código de 16 bits donde cada carácter toma 16 bits y, por lo tanto, hay 65.536 caracteres posibles. Esto, en realidad, no es correcto. Es el mito más común sobre Unicode , así que si pensaba eso, no se sienta mal.

De hecho, Unicode tiene una forma diferente de pensar sobre los personajes, y tienes que entender la forma Unicode de pensar las cosas o nada tendrá sentido.

Hasta ahora, hemos asumido que una letra se asigna a algunos bits que puede almacenar en el disco o en la memoria:

A -> 0100 0001

En Unicode, una letra se asigna a algo llamado punto de código que sigue siendo solo un concepto teórico. La forma en que ese punto de código se representa en la memoria o en el disco es otra historia ... "

"... A cada letra platónica en cada alfabeto se le asigna un número mágico por el consorcio Unicode que se escribe así: U + 0639. Este número mágico se llama un punto de código. La U + significa" Unicode "y los números son hexadecimales. U + 0639 es la letra árabe Ain. La letra inglesa A sería U + 0041 .... "

"... Está bien, digamos que tenemos una cadena:

Hola

que, en Unicode, corresponde a estos cinco puntos de código:

U + 0048 U + 0065 U + 006C U + 006C U + 006F.

Solo un montón de puntos de código. Números, de verdad. Todavía no hemos dicho nada sobre cómo almacenar esto en la memoria o representarlo en un mensaje de correo electrónico ... "

"... Ahí es donde entran las codificaciones.

La primera idea para la codificación Unicode, que llevó al mito sobre los dos bytes, fue, oye, simplemente almacenemos esos números en dos bytes cada uno. Así que hola se convierte en

00 48 00 65 00 6C 00 6C 00 6F

¿Correcto? ¡No tan rapido! ¿No podría ser también:

48 00 65 00 6C 00 6C 00 6F 00? ... "

11
thomasrutter 2017-09-26 19:05.

UTF-8 es un posible esquema de codificación para texto Unicode .

Unicode es un estándar de amplio alcance que define más de 140.000 caracteres y asigna a cada uno un código numérico (un punto de código). También define reglas sobre cómo ordenar este texto, normalizarlo, cambiar su caso y más. Un carácter en Unicode está representado por un punto de código desde cero hasta 0x10FFFF inclusive, aunque algunos puntos de código están reservados y no pueden usarse para caracteres.

Hay más de una forma de codificar una cadena de puntos de código Unicode en una secuencia binaria. Estos se denominan "codificaciones". La codificación más sencilla es UTF-32 , que simplemente almacena cada punto de código como un entero de 32 bits, cada uno de los cuales tiene 4 bytes de ancho.

UTF-8 es otra codificación y se está convirtiendo en el estándar de facto, debido a una serie de ventajas sobre UTF-32 y otras. UTF-8 codifica cada punto de código como una secuencia de valores de 1, 2, 3 o 4 bytes. Los puntos de código en el rango ASCII se codifican como un valor de un solo byte, para que sean compatibles con ASCII. Los puntos de código fuera de este rango usan 2, 3 o 4 bytes cada uno, dependiendo del rango en el que se encuentren.

UTF-8 se ha diseñado teniendo en cuenta estas propiedades:

  • Los caracteres ASCII se codifican exactamente como están en ASCII, de modo que una cadena ASCII también es una cadena UTF-8 válida que representa los mismos caracteres.

  • Clasificación binaria: la clasificación de cadenas UTF-8 mediante una clasificación binaria dará como resultado que todos los puntos de código se ordenen en orden numérico.

  • Cuando un punto de código utiliza varios bytes, ninguno de esos bytes contiene valores en el rango ASCII, lo que garantiza que ninguna parte de ellos pueda confundirse con un carácter ASCII. Esta también es una característica de seguridad.

  • UTF-8 puede validarse fácilmente y distinguirse de otras codificaciones de caracteres mediante un validador. El texto en otras codificaciones de 8 bits o de varios bytes rara vez también se validará como UTF-8 debido a la estructura muy específica de UTF-8.

  • Acceso aleatorio: en cualquier punto de una cadena UTF-8 es posible saber si el byte en esa posición es el primer byte de un carácter o no, y encontrar el inicio del carácter siguiente o actual, sin necesidad de buscar hacia adelante o hacia atrás más de 3 bytes o para saber qué tan lejos de la cadena comenzamos a leer.

5
InGeek 2019-10-12 18:30.

Este artículo explica todos los detalles. http://kunststube.net/encoding/

ESCRIBIR PARA BUFFER

si escribe en un búfer de 4 bytes, símbolo con codificación UTF8, su binario se verá así:

00000000 11100011 10000001 10000010

Si escribe en un búfer de 4 bytes, símbolo con codificación UTF16, su binario se verá así:

00000000 00000000 00110000 01000010

Como puede ver, dependiendo del idioma que use en su contenido, esto afectará su memoria en consecuencia.

Por ejemplo, para este símbolo en particular: la codificación UTF16 es más eficiente ya que tenemos 2 bytes de repuesto para usar en el siguiente símbolo. Pero no significa que deba usar UTF16 para el alfabeto japonés.

LECTURA DEL BÚFER

Ahora, si desea leer los bytes anteriores, debe saber en qué codificación se escribió y decodificarlo correctamente.

Por ejemplo, si decodifica esto: 00000000 11100011 10000001 10000010 en codificación UTF16, terminará sin

Nota: La codificación y Unicode son dos cosas diferentes. Unicode es la (tabla) grande con cada símbolo asignado a un punto de código único. por ejemplo, el símbolo (letra) tiene un (punto de código) : 30 42 (hexadecimal). La codificación, por otro lado, es un algoritmo que convierte los símbolos a una forma más apropiada, cuando se almacenan en hardware.

30 42 (hex) - > UTF8 encoding - > E3 81 82 (hex), which is above result in binary.

30 42 (hex) - > UTF16 encoding - > 30 42 (hex), which is above result in binary.

2
Dimos 2018-01-12 09:12.

Son lo mismo, ¿no?

No, no lo son.


Creo que la primera oración de la página de Wikipedia a la que hizo referencia ofrece un breve y agradable resumen:

UTF-8 es una codificación de caracteres de ancho variable capaz de codificar todos los 1,112,064 puntos de código válidos en Unicode utilizando de uno a cuatro bytes de 8 bits.

Elaborar:

  • Unicode es un estándar, que define un mapa de caracteres a números, los llamados puntos de código (como en el ejemplo siguiente). Para ver el mapeo completo, puede echar un vistazo aquí .

    ! -> U+0021 (21),  
    " -> U+0022 (22),  
    \# -> U+0023 (23)
    
  • UTF-8 es una de las formas de codificar estos puntos de código en una forma que una computadora pueda entender, también conocida como bits . En otras palabras, es una forma / algoritmo de convertir cada uno de esos puntos de código en una secuencia de bits o convertir una secuencia de bits en puntos de código equivalentes. Tenga en cuenta que hay muchas codificaciones alternativas para Unicode.


Joel da una explicación muy bonita y una descripción general de la historia aquí .

2
remykarem 2019-07-18 21:17.

Si puedo resumir lo que reuní de este hilo:

Unicode 'traduce' caracteres a números ordinales (en forma decimal) .

à = 224

UTF-8 es una codificación que 'traduce' estos números a representaciones binarias .

224 = 11000011 10100000

Tenga en cuenta que estamos hablando de la representación binaria de 224, no de su forma binaria, que es 0b11100000.

0
akaMahesh 2018-01-27 03:35.

UTF-8 es un método para codificar caracteres Unicode utilizando secuencias de 8 bits.

Unicode es un estándar para representar una gran variedad de caracteres de muchos idiomas.

Related questions

MORE COOL STUFF

La estrella de HGTV, Christina Hall, revela que tiene 'envenenamiento por mercurio y plomo' probablemente por voltear 'casas asquerosas'

La estrella de HGTV, Christina Hall, revela que tiene 'envenenamiento por mercurio y plomo' probablemente por voltear 'casas asquerosas'

La estrella de HGTV, Christina Hall, revela que le diagnosticaron envenenamiento por mercurio y plomo, probablemente debido a su trabajo como manipuladora de casas.

La estrella de 'Love Is Blind' Brennon Lemieux responde a los cargos de violencia doméstica

La estrella de 'Love Is Blind' Brennon Lemieux responde a los cargos de violencia doméstica

Recientemente salió a la luz un informe policial que acusa a la estrella de 'Love Is Blind', Brennon, de violencia doméstica. Ahora, Brennon ha respondido a los reclamos.

Wynonna Judd se dio cuenta de que ahora es la matriarca de la familia Judd en un momento festivo de pánico

Wynonna Judd se dio cuenta de que ahora es la matriarca de la familia Judd en un momento festivo de pánico

Conozca cómo Wynonna Judd se dio cuenta de que ahora es la matriarca de la familia mientras organizaba la primera celebración de Acción de Gracias desde que murió su madre, Naomi Judd.

Experto en lenguaje corporal explica los 'paralelos' entre Kate Middleton y la princesa Diana

Experto en lenguaje corporal explica los 'paralelos' entre Kate Middleton y la princesa Diana

Descubra por qué un destacado experto en lenguaje corporal cree que es fácil trazar "tales paralelismos" entre la princesa Kate Middleton y la princesa Diana.

Los láseres arrojan luz sobre por qué necesita cerrar la tapa antes de descargar

Los láseres arrojan luz sobre por qué necesita cerrar la tapa antes de descargar

Los inodoros arrojan columnas de aerosol invisibles con cada descarga. ¿Como sabemos? La prueba fue capturada por láseres de alta potencia.

The Secrets of Airline Travel Quiz

The Secrets of Airline Travel Quiz

Air travel is far more than getting from point A to point B safely. How much do you know about the million little details that go into flying on airplanes?

Where in the World Are You? Take our GeoGuesser Quiz

Where in the World Are You? Take our GeoGuesser Quiz

The world is a huge place, yet some GeoGuessr players know locations in mere seconds. Are you one of GeoGuessr's gifted elite? Take our quiz to find out!

¿Caduca el repelente de insectos?

¿Caduca el repelente de insectos?

¿Sigue siendo efectivo ese lote de repelente de insectos que te quedó del verano pasado? Si es así, ¿por cuánto tiempo?

Se revela la estatua de Godzilla más nueva de Tokio

Se revela la estatua de Godzilla más nueva de Tokio

Anteriormente, Kotaku informó que un hotel Godzilla se estaba abriendo en Tokio este abril. Junto al hotel, estaba programada la aparición de una enorme cabeza de 'Zilla, pero todo lo que hemos visto fueron imágenes conceptuales computarizadas.

El alcalde de Chicago realmente quiere que Elon Musk perfore un túnel debajo de la ciudad

El alcalde de Chicago realmente quiere que Elon Musk perfore un túnel debajo de la ciudad

Foto: Getty Desde que lanzó The Boring Company hace un año, Elon Musk ha mencionado varios sitios de construcción posibles para el negocio de perforación de túneles y ha descartado una vaga referencia a una aprobación gubernamental "verbal" para un túnel Hyperloop que conecta la ciudad de Nueva York y Washington. , CC. Pero ahora sabemos que al menos un alcalde quiere que Musk perfore un agujero debajo de su ciudad.

Ponle una tapa. En realidad, ponle una tapa a todo. Consigue 12 tapas de cocina elásticas de silicona por $14. [Exclusivo]

Ponle una tapa. En realidad, ponle una tapa a todo. Consigue 12 tapas de cocina elásticas de silicona por $14. [Exclusivo]

Tapas elásticas de silicona de Tomorrow's Kitchen, paquete de 12 | $14 | Amazonas | Código promocional 20OFFKINJALids son básicamente los calcetines de la cocina; siempre perdiéndose, dejando contenedores huérfanos que nunca podrán volver a cerrarse. Pero, ¿y si sus tapas pudieran estirarse y adaptarse a todos los recipientes, ollas, sartenes e incluso frutas en rodajas grandes que sobran? Nunca más tendrás que preocuparte por perder esa tapa tan específica.

Cuéntanos tus mejores trucos de Washington, DC

Cuéntanos tus mejores trucos de Washington, DC

Hemos pirateado algunas ciudades industriales en esta columna, como Los Ángeles y Las Vegas. Ahora es el momento de una ciudad militar-industrial-compleja.

Patinaje artístico de EE. UU. 'frustrado' por falta de decisión final en evento por equipos, pide una decisión justa

Patinaje artístico de EE. UU. 'frustrado' por falta de decisión final en evento por equipos, pide una decisión justa

El equipo está a la espera de las medallas que ganó en los Juegos Olímpicos de Invierno de 2022 en Beijing, ya que se está resolviendo un caso de dopaje que involucra a la patinadora artística rusa Kamila Valieva.

Los compradores de Amazon dicen que duermen 'como un bebé mimado' gracias a estas fundas de almohada de seda que cuestan tan solo $ 10

Los compradores de Amazon dicen que duermen 'como un bebé mimado' gracias a estas fundas de almohada de seda que cuestan tan solo $ 10

Miles de compradores de Amazon recomiendan la funda de almohada de seda Mulberry, y está a la venta en este momento. La funda de almohada de seda viene en varios colores y ayuda a mantener el cabello suave y la piel clara. Compre las fundas de almohada de seda mientras tienen hasta un 46 por ciento de descuento en Amazon

Se busca al corredor de los Bengals Joe Mixon por orden de arresto emitida por presuntamente apuntar con un arma de fuego a una mujer

Se busca al corredor de los Bengals Joe Mixon por orden de arresto emitida por presuntamente apuntar con un arma de fuego a una mujer

El jueves se presentó una denuncia de delito menor amenazante agravado contra Joe Mixon.

Profesor de la Universidad de Purdue arrestado por presuntamente traficar metanfetamina y proponer favores sexuales a mujeres

Profesor de la Universidad de Purdue arrestado por presuntamente traficar metanfetamina y proponer favores sexuales a mujeres

El Departamento de Policía de Lafayette comenzó a investigar a un profesor de la Universidad de Purdue en diciembre después de recibir varias denuncias de un "hombre sospechoso que se acercaba a una mujer".

Concept Drift: el mundo está cambiando demasiado rápido para la IA

Concept Drift: el mundo está cambiando demasiado rápido para la IA

Al igual que el mundo que nos rodea, el lenguaje siempre está cambiando. Mientras que en eras anteriores los cambios en el idioma ocurrían durante años o incluso décadas, ahora pueden ocurrir en cuestión de días o incluso horas.

India me está pateando el culo

India me está pateando el culo

Estoy de vuelta por primera vez en seis años. No puedo decirte cuánto tiempo he estado esperando esto.

ℝ

“And a river went out of Eden to water the garden, and from thence it was parted and became into four heads” Genesis 2:10. ? The heart is located in the middle of the thoracic cavity, pointing eastward.

¿Merrick Garland le ha fallado a Estados Unidos?

Es más de la mitad de la presidencia de Biden. ¿Qué está esperando Merrick Garland?

¿Merrick Garland le ha fallado a Estados Unidos?

Creo, un poco tarde en la vida, en dar oportunidades a la gente. Generosamente.

Language