Programa C para determinar el punto de código Unicode en un índice dado

Unicode es el mecanismo de codificación para asignar un número único a cada carácter. Los primeros 128 caracteres se asignan como valor ASCII, lo que significa que el valor Unicode y ASCII para los primeros 128 caracteres es el mismo. Los primeros 128 caracteres contienen el alfabeto inglés, dígitos, caracteres especiales, etc. Los valores ASCII son diferentes para los alfabetos ingleses en mayúsculas y minúsculas.

Tipos Valor inicial Valor final
Alfabetos en mayúsculas sesenta y cinco 90
Alfabetos en minúsculas 97 122

De la tabla anterior se puede entender que la letra mayúscula inicial, es decir, ‘A’, tendrá un valor de 65 y terminará en ‘Z’ con 90. De manera similar, la ‘a’ minúscula es 97 y termina en ‘z’ con 122.

El lenguaje C tiene una asignación implícita del tipo de datos ‘char’ a int que usa estos valores Unicode o valores ASCII.

Hay 2 formas de determinar el punto de código Unicode en un índice dado en C:

  1. Devolver el valor en el índice después de almacenar en el tipo de datos «int».
  2. Uso del bucle for

1. Valor devuelto en el índice después de almacenar en tipo de datos int

A continuación se muestra el programa C++ para determinar el punto de código Unicode en un índice dado:

C

// C++ program to determine unicode 
// code point at a given index
#include <stdio.h>
  
// Driver code
int main()
{
  char arr[10] = "GeEkS";
  int index1 = 0, index2 = 1, 
      index3 = 2, index4 = 3,
      index5 = 4, code;
  printf("The String is %s\n", arr);
  
  code = arr[index1];
  printf("The Unicode Code Point At %d is:%d\n", 
          index1, code);
  code = arr[index2];
  printf("The Unicode Code Point At %d is:%d\n", 
          index2, code);
  code = arr[index3];
  printf("The Unicode Code Point At %d is:%d\n", 
          index3, code);
  code = arr[index4];
  printf("The Unicode Code Point At %d is:%d\n", 
          index4, code);
  code = arr[index5];
  printf("The Unicode Code Point At %d is:%d\n", 
          index5, code);
  return 0;
}
Producción

The String is GeEkS
The Unicode Code Point At 0 is:71
The Unicode Code Point At 1 is:101
The Unicode Code Point At 2 is:69
The Unicode Code Point At 3 is:107
The Unicode Code Point At 4 is:83
  • Complejidad de tiempo: O(n) 
  • Complejidad espacial: O(2*n+1) = O(n)

2. Usando el bucle for

Si se aumenta el valor de la string, no es factible declarar una variable individual para el índice. Además, si el tamaño de la string se reduce, las variables fijas pueden dar un error fuera de límites . Para manejar estas situaciones, usaremos for loop para recorrer la string e imprimir el punto de código correspondiente.

A continuación se muestra el programa C para determinar el punto de código Unicode en un índice dado:

C

// C program to determine the unicode
// code point at a given index
#include <stdio.h>
  
// Driver code
int main()
{
  char arr[10] = "GeEkS";
  int code;
  printf("The String is %s\n", 
          arr);
    
  for (int i = 0; arr[i] != '\0'; i++) 
  {
    code = arr[i];
    printf("The Unicode Code Point At %d is:%d\n", 
            i, code);
  }
  return 0;
}
Producción

The String is GeEkS
The Unicode Code Point At 0 is:71
The Unicode Code Point At 1 is:101
The Unicode Code Point At 2 is:69
The Unicode Code Point At 3 is:107
The Unicode Code Point At 4 is:83
  • Complejidad de tiempo: O(n)
  • Complejidad espacial: O(1)

Publicación traducida automáticamente

Artículo escrito por sunnydrall 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 *