Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

C++ Zamiana łańcucha znaków na ciąg binarny


Rekomendowane odpowiedzi

Opublikowano

Cześć! W jaki sposób zamienić łańcuch znaków UTF-8 na ciąg binarny? Znalazłem kilka przykładów ale tylko dla 8 bitów.

giphy.gif

Opublikowano

Dzięki, szukałem i trafiłem na ten link już wcześniej. Jednak osoba, która zadała pytanie chce zamienić znak na ASCII hex, a następnie na system dwójkowy. ASCII nie zawiera polskich znaków więc chyba nie zadziała tak jak powinno. W dodatku nie mam jak przetestować bo dostaję błąd: 

error C4996: '_itoa': This function or variable may be unsafe.

giphy.gif

Opublikowano

 

Dzięki, szukałem i trafiłem na ten link już wcześniej. Jednak osoba, która zadała pytanie chce zamienić znak na ASCII hex, a następnie na system dwójkowy. ASCII nie zawiera polskich znaków więc chyba nie zadziała tak jak powinno. W dodatku nie mam jak przetestować bo dostaję błąd: 

error C4996: '_itoa': This function or variable may be unsafe.

_itoa_s

lub wylacz warning C4996 za pomoca _SCL_SECURE_NO_WARNINGS

lub wykorzystaj w C++ std::to_string

lub wykorzystaj sprintf :)

lub wykorzystaj w C++ std::stringostream do tworzenia ASCII to hex

Opublikowano

@TheAifam5

 

std::to_string oraz sprintf nie pracują na UTF-8 to co ty mu każesz robić...

 

Wszystkie funkcje pracujące na tekście zakodowanym na znakach wielobajtowych zaczynają się od w, więc wpsrintf, std::to_wstring itd..

RAsfepN.png
Opublikowano

Ok, to już mam ale teraz nie wiem jak zamienić to w drugą stronę? ;D

Mam tablicę bajtów UTF8 i chciałbym zamienić ją na tekst.

giphy.gif

Opublikowano

No tablica UTF8 to jest tekst, to nie ma co zamieniać ;)

	
std::string response = httpRequest(); // response = "ąą"
	std::string show = "";
	for(int i = 3;i < response.size(); ++i)
	{
		show += bitset<8>(response[i]).to_string();
	}
	// show = "11000100100001011100010010000101"

Edit: Już mam :D

 

	std::stringstream sstream(show);
    std::string output;
    while(sstream.good())
    {
        std::bitset<8> bits;
        sstream >> bits;
        char c = char(bits.to_ulong());
        output += c;
    }

giphy.gif

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...