W jakim celu koduje się tekst?

0

Chce zapytac po co sie koduje tekst ? W jakim celu ?

I mam tez przyklad kodowania w UCS-2 ale nie rozumiem o co w nim chodzi:

#include <stddef.h>
#include <stdio.h>
#include <string.h>
 
int main() {
  wchar_t* wcs1 = L"Ala ma kota.";
  wchar_t* wcs2 = L"Kot ma Ale.";
  wchar_t calosc[25];
 
  wcscpy(calosc, wcs1);
  *(calosc + wcslen(wcs1)) = L' ';
  wcscpy(calosc + wcslen(wcs1) + 1, wcs2);
 
  printf("lancuch wyjsciowy: %ls\n", calosc);
  return 0;
}

Czyli najpierw wpisalismy zawartosc wcs1 do calosc a potem usunelismy to co wpisalismy i wpisalismy tam wcs2 ? Czemu miala sluzyc ta operacja i to kodowanie w tym kodzie ?

0

Znak w UCS-2 ma zawsze 2 bajty. W przeciwieństwie do kodowań UTF-*. Zawsze więc możesz być pewien ścisłej korelacji między długością napisu w pamięci a ilością jego znaków.
W kodzie który podałeś, stosowana jest arytmetyka adresów. Najpierw do bufora calosc trafia napis, później do początku adresu bufora dodawana jest wartość o długości napisu a pod adres trafia spacja, na koniec tuz za spacją następny napis.

1 użytkowników online, w tym zalogowanych: 0, gości: 1