Struny niepodpisanych znaków

Oto interesujący. Piszę algorytm szyfrowania AES i udało mi się go uzyskać, wykonując dokładne szyfrowanie. Problem pojawia się, gdy próbuję zapisać wynik w pliku. Otrzymywałem pliki z niepoprawnym wyjściem. Wartości szesnastkowe byłyby zniekształcone i były po prostu bezsensowne (nawet według zaszyfrowanych standardów).

Przeprowadziłem debugowanie, próbkując moje wyjście szyfrowania przed wysłaniem go do pliku. Odkryłem, że gdzieś dostałem jakiś przelew. Gdy prawidłowa wartość heksadecymalna miała być 9e, dostałbym ffffff9e. Zrobiłoby to tylko dla wartości szesnastkowych powyżej 7F, tzn. Znaki w „rozszerzonym” zestawie znaków nie były obsługiwane prawidłowo. Zdarzyło mi się to również wcześniej w moim projekcie, a problem polegał na użyciu kontenera char [] [] zamiast kontenera unsigned char [] [].

Mój kod wykorzystuje łańcuchy do przekazywania zaszyfrowanych danych między interfejsem użytkownika a klasą szyfrowania AES. Zgaduję, że std :: strings nie obsługuje rozszerzonego zestawu znaków. Więc moje pytanie brzmi: czy istnieje sposób utworzenia instancji niepodpisanego ciągu znaków, czy też będę musiał znaleźć sposób na zastąpienie wszystkich moich ciągów znaków?

questionAnswers(3)

yourAnswerToTheQuestion