Mikuláš je tady! Získej 90 % extra kreditů ZDARMA s promo kódem CERTIK90 při nákupu od 1199 kreditů. Pouze do neděle 7. 12. 2025! Zjisti více:
NOVINKA: Staň se datovým analytikem od 0 Kč a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

Diskuze – Lekce 9 - Textové řetězce v Dartu podruhé - Práce s jednotlivými znaky

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Dušan Kovářík:7.1.2024 17:44

Článek by potřeboval aktualizovat. Získání ASCII kódu znaku a převod ACSII kódu na znak jsem udělal takto:

import 'dart:convert';

void main() {
  String c;
  int i;
  // převod znaku na jeho ASCII hodnotu
  c = 'a';
  i = AsciiEncoder().convert(c).first;
  print("Znak '$c' jsme převedli na ASCII hodnotu $i");
  // převod ASCII hodnoty na znak
  i = 98;
  c = AsciiDecoder().convert([i]);
  print("ASCII hodnotu $i jsme převedli na znak '$c'");
}
Avatar
Dušan Kovářík:7.1.2024 19:39

Cesarova sifra:

import 'dart:convert';

void main() {
  // inicializace proměnných
  String puvodniZprava = "cernediryjsoutamkdebuhdelilnulou";
  print("Původní zpráva: $puvodniZprava");
  String zasifrovanaZprava = "";
  int posun = 1;

  // cyklus projíždějící jednotlivé znaky
  puvodniZprava.split('').forEach((String znak) {
    int i;
    i = AsciiEncoder().convert(znak).first;
    i += posun;
    // kontrola přetečení
    if (i > AsciiEncoder().convert('z').first) {
      i -= 26;
    }
    String posunutyZnak = AsciiDecoder().convert([i]);
    zasifrovanaZprava += posunutyZnak;
  });

  // výpis
  print("Zašifrovaná zpráva: $zasifrovanaZprava");
}
Avatar
Martin Šimáček:26. listopadu 11:04

Ano článek je potřeba aktualizovat

void main(){
  // inicializace promenných
  String s = 'cernediryjsoutamkdebuhdelilnulouz';
  print('Původní zpráva: $s');
  String zprava = '';
  int posun = 5;

  // cyklus projíždějící jednotlivé znaky
  s.split('').forEach((String c) {
    int i = c.codeUnitAt(0);
    i += posun;
    //kontrola přetečení
    if (i > 'z'.codeUnitAt(0))
      i -= 26;
    String znak = String.fromCharCode(i);
    zprava += znak;
  });

  //výpis
  print('Zašifrovaná zpráva: $zprava');
}
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.