我有一个主要包含中文字符的字符串,如下所示:
string sentence = "???????????????????????";
Run Code Online (Sandbox Code Playgroud)
我怎样才能逐字逐句?最终,我希望能够获取我的字符串,并将其写入一个文件,每个字符都在它自己的行上,如下所示:
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
Run Code Online (Sandbox Code Playgroud)
我试过这样做:
StringBuilder s = new StringBuilder();
foreach (char character in sentence.ToCharArray())
{
s.Append(character + '\n');
}
string output = s.ToString();
StreamWriter writer = new StreamWriter("test.txt", false, Encoding.UTF8);
writer.Write(output);
writer.Close();
Run Code Online (Sandbox Code Playgroud)
......但无论出于何种原因,它写道,而不是写汉字
29252242105020184228092794129315391442445825299260413251021162260416530235763314592232222317363452614126041
Run Code Online (Sandbox Code Playgroud)
...改为文件.但是,干嘛
StreamWriter writer = new StreamWriter("text.txt", false, Encoding.UTF8);
writer.Write(sentence);
writer.Close();
Run Code Online (Sandbox Code Playgroud)
...确实成功地将中文句子写入文件,所以我知道这对我写入文件的方式不应该有问题.
我认为问题可能是(字符+'\n'); 被解释为整数.也许尝试在该行中添加一个强制转换或者像这样添加两个单独的附加:
s.Append(character);
s.Append('\n');
Run Code Online (Sandbox Code Playgroud)