私は3つのユニコード文字セットの和集合からランダムなUnicode文字列を生成する次の簡単なプログラムを持っています。D-language:コンソールにUnicode文字を印刷する方法は?
#!/usr/bin/env rdmd
import std.uni;
import std.random : randomSample;
import std.stdio;
import std.conv;
/**
* Random salt generator
*/
dstring get_salt(uint s)
{
auto unicodechars = unicode("Cyrillic") | unicode("Armenian") | unicode("Telugu");
dstring unichars = to!dstring(unicodechars);
return to!dstring(randomSample(unichars, s));
}
void main()
{
writeln("Random salt:");
writeln(get_salt(32));
}
しかし、のwritelnの出力は次のとおりです。
$ ./teste.d
Random salt:
rw13 13437 78580112 104 3914645
これらの数字は何ですか? Unicodeコードポイント?実際の文字はどのように印刷するのですか?
dstring unichars = to!dstring(unicodechars);
それは文字列へCodepointSet
オブジェクトunicode
戻り、ないそれがカバーの文字を変換します。私は、UTF-8
「ユニコード」は多くの点で間違っています。あなたはそれらのものをビットワインディングしていて、それがなぜコンパイルされるのかを知っています。おそらく、 '〜'連結などを代わりに使用したいでしょう。 –
簡単な例がありますか?ところで、これらのbitwise orsはonlodeのDlangチュートリアルから来た... – fccoelho
私はこのことがどのように動作するはずです。私はこれまでにlibのこの部分を使ったことはありませんでした。文書はうまく説明できません...あなたが読んでいるリンクは何ですか?しかし、あなたが現在ランダム化している文字列は、構造体メンバの印刷であり、文字のリストではありません。 –