C 1 string型別Ushort2 Ushortstring型別經過2操作,string型別的內容不能變

時間 2021-05-04 11:08:33

1樓:匿名使用者

可以,string轉成byte陣列然後再轉成ushort就沒事了。。。

轉回來也是一樣。。。

2樓:

樓主你好~

解釋~1:

string a = "asfasfa";

ushort b = new ushort[a.length];

array.copy(a.tochararray(), b, a.length);

2:string c;

char d = new char[b.length];

array.copy(b, d, b.length);

c = new string(d);

ushort存在到char型的隱式轉換,所以直接用array.copy可以將a生成的char陣列直接賦值到ushort陣列。

反過來的操作也相同,直接使用array.copy將ushort陣列直接賦值到char陣列,然後用string的構造器直接生成string

3樓:流光十字

鑑於題目說的是ushort,那麼假設你是按unicode 16位來encode:

static void main(string args)

console.writeline();

string ret = utfarraytostring(array);

console.writeline(ret);

console.readkey();

}static ushort stringtoutfarray(string input)

return output;

}static string utfarraytostring(ushort input)

return system.text.encoding.unicode.getstring(code);

} 看了其他幾位的回答,我想補充一下

首先,題目說ushort,很明顯是16bits的型別,string要轉換成16bits,那麼很可能是unicode encoding,也就是wchar。這裡我們用system.text.

encoding.unicode來對string轉換。

拿回來的byte array要轉換成ushort,那麼要將他2個byte一組,組合成hi byte和lo byte,由於unicode是反過來的(little endian),所以我們把每偶數個的byte shift上高位,然後和奇數位的數拼起來。

反向的操作是一樣的。

以上的code經過compile和測試沒問題。

printf 「a cb c tabc n」,c1,c2,c3 這句C 程式語言是什麼意思啊

你還是加些分吧,累死我了 a 輸出字元 a c 以 c格式 也就是字元格式 輸出c1 b 輸出字元 b c 以 c格式 也就是字元格式 輸出c2 t 輸出製表符 t 也就是輸出4個空格 abc 輸出字元 a b c n 輸出回車 注意一下,雖然最後有一個c3,但是由於在前面的沒有輸出格式符對應它,所...

C1可以增加A1嗎,c1可以直接升a1嗎

二 機動車駕駛證申領和使用規定 2016 第十五條已持有機動車駕駛證,申請增加準駕車型的,應當在本記分週期和申請前最近一個記分週期內沒有記滿12分記錄。申請增加中型客車 牽引車 大型客車準駕車型的,還應當符合下列規定 一 申請增加中型客車準駕車型的,已取得駕駛城市公交車 大型貨車 小型汽車 小型自動...

c1理論考試技巧,C1理論考試技巧

技巧一 紅色是禁令 黃色是警告 藍色是指示,三種顏色都沒有是輔助。例 技巧二 禁令對禁止 警告對警告 指示對指示,相同就對,不相同就錯。技巧三 遠光燈 近光燈的考題只能使用近光燈,不準使用遠光燈。技巧四 只有冰雪道路是下坡先行,其餘都是上坡先行。如果出現兩個上坡先行,就選字多的。技巧六 有省選省,無...