簡體   English   中英

一次讀取一個字節的unicode

[英]Reading unicode one byte at a time

我正在嘗試創建一個簡單的加密-解密程序(仍然停留在I / O上):

ifstream f("a.in", ios::binary);
ofstream g("a.out");
char x1, x2;
int x,j=0;
f.get(x1);
while(f.get(x2))
{
    if(j==10)
    {
        g<<'\n';
        j=0;
    }
    x=x1+x2;
    x1=x2;
    g<<x<<' ';
    j++;
}

現在,該代碼可以完美地與ASCII文本一起運行,但是,對於unicode則不能。

我的想法是,通過一次讀取一個字節(8位類型),我不必擔心多字節字符,並且我認為二進制模式可以做到這一點。

從理論上來說,這聽起來不錯,而實際上卻沒那么多,因為程序在第一個unicode字符時崩潰了。 有人可以在這里指出正確的方向嗎? 我已經在網絡上進行了廣泛的搜索,但是顯然這並不是經常要問的問題。

tl; dr:無論如何顯示,我如何一次讀取8位?

嘗試

f.read(&x1,1);

get()用於文本,而不是二進制數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM