問題タブ [rune]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1121 参照

c++ - C++ Unicode: バイト、コード ポイント、書記素

それで、私はスクリプト言語を構築しています。私の目標の 1 つは、便利な文字列操作です。C++でいくつかのアイデアを試しました。

  • バイト シーケンスとしての文字列と、コード ポイント インデックスを含むベクトルを返すフリー関数。
  • 文字列とインデックスを含むベクトルを結合するラッパー クラス。

どちらのアイデアにも問題があり、その問題は、何を返すべきかということでした。文字にすることはできません。文字列の場合は、スペースが無駄になります。

最終的に、正確に 4 バイトの char 配列のラッパー クラスを作成しました。これは、メモリ内に正確に 4 バイトの文字列で、多かれ少なかれありません。

このクラスを作成した後、別のクラスのクラスにラップして、std::vectorそこからビルドして、文字列型のコードポイントを作成したいという誘惑にかられました。これが良いアプローチかどうかはわかりませんが、最終的にははるかに便利になりますが、より多くのスペースを浪費することになります。

したがって、コードを投稿する前に、より整理されたアイデアのリストを次に示します。

  • 私の文字タイプは、バイトでも書記素でもなく、コードポイントです。私はそれを Go 言語のルーンのような名前にしました。
  • 一連の分解されたルーンとしての文字列。したがって、インデックス付けとスライス O1 が作成されます。
  • ルーンはプリミティブではなくクラスになったため、Unicode の空白を検出するメソッドで拡張できます。mysring[0].is_whitespace()
  • 書記素の扱い方がまだわかりません。

興味深い事実!ルーン クラスのプロトタイプを作成する方法で奇妙な点は、常に UTF8 で出力されることです。私のルーンは int32 ではなく 4 バイトの文字列であるため、これにはいくつかの興味深いプロパティがあります。

私のコード:

エラー処理のアイデア:

C++ で例外を使用するのは好きではありません。私の考えは、コンストラクターが失敗した場合、ルーンを 4 として初期化し'\0'、ブール演算子を明示的にオーバーロードして、実行の最初のバイトがたまたま'\0'. シンプルで使いやすい。

それで、考え?意見?異なるアプローチ?

ルーン文字列が多すぎても、少なくともルーンタイプは持っています。小さくて高速にコピーできます。:)

0 投票する
1 に答える
251 参照

algorithm - Go を使用して StringText をバイナリに変換し、逆に変換する方法

Convert Text(type= String) To Binary(type= String) And ConverselyUsing Goが欲しい

いくつかのユーザーフルリンク : Golang: 文字列をバイナリ表現に変換する方法& Go で文字列をバイナリに変換する方法

しかし、私は別のものを必要としています。

helloのようなテキストを変換する例が必要ですbinary。次に、バイナリを最初の text( hello) に変換できます。

このように gist.github.com/hutt/8978333 (php を使用)

speed私にとってもですimportamt

0 投票する
1 に答える
200 参照

go - タイプスイッチでルーン値と int32 値を区別するにはどうすればよいですか?

次のコードを持つ

コンパイルエラーが発生します

代わりにルーンを独自の型でラップすると、型スイッチがコンパイルされて機能します

https://play.golang.org/p/2lMRlpCLzXを参照してください

何故ですか?タイプスイッチでルーン文字と int32 を区別するにはどうすればよいですか?

0 投票する
1 に答える
617 参照

string - 文字列のGolangルーンまたは変換方法は?

次のテキストを含む文字列があります。

これはリテラルではありません。文字列では、このように個別の文字として保存されます['\','x','D','0','\','x','A','4',...]

この文字列を通常の文字に変換するにはどうすればよいですか?