2010-02-18 38 views

回答

2

UCS2不攜帶有關字符串長度本身的信息。你的原始字符串表示要麼是以0結尾的,在這種情況下,你可以檢查一個0代碼單元(即一個16位的0值),或者它不是0結尾的,在這種情況下,你需要一些out-of-關於字符串長度的帶區信息(例如單獨存儲的緩衝區大小)。

一般來說,UCS 2是UTF-16的一個子集(http://www.unicode.org/faq/basic_q.html#14)。因此,您應該可以使用UTF-16工具,例如ICU庫http://site.icu-project.org/

1

這取決於您使用的字符串類型。如果沒有類型(只是一個已知包含UCS-2編碼字符串的內存緩衝區),則必須知道它是如何表示的。它可以有一個前置長度計數,或者像0 0終止,就像普通的舊的char *「C字符串」一樣。

相關問題