文字列に平坦化 関数



LabVIEW 2018ヘルプ


発行年月: 2018年3月
製品番号: 371361R-0112
製品情報を参照

ダウンロード (Windowsのみ)


LabVIEW 2015ヘルプ
LabVIEW 2016ヘルプ
LabVIEW 2017ヘルプ
LabVIEW 2018ヘルプ
LabVIEW 2019ヘルプ

1つ上のパレット: データ操作関数

インストールパッケージ: ベース開発システム

任意タイプ入力をバイナリ値平坦化されたデータ文字列に変換します。 また、この関数によって、平坦化されたデータ文字列のデータバイト順序 (エンディアン形式) を変換することもできます。

詳細  

任意タイプには、UTF-8 JSON文字列に変換したいデータを含めます。 この入力は、ブール、浮動小数点数、および文字列の配列およびクラスタを受け入れます。 任意タイプは、これらのデータタイプのクラスタの配列、または配列のクラスタも受け入れます。 この入力は、列挙体、refnum、ファイルパス、および固定小数点数などのデータタイプはサポートしません。

クラスタ要素には名前を付けることも、付けないことも可能ですが、両方を混在させることはできません。 クラスタ要素に名前を付ける場合は、クラスタ内で固有の名前を付ける必要があります。 サポートされていないデータタイプを配線すると、VIは壊れます。
配列または文字列サイズを先頭に追加?には、任意のデータが配列または文字列の場合に、LabVIEWがデータサイズ情報をデータ文字列の先頭に含むかどうかを指定します。 配列または文字列サイズを先頭に追加?がFALSEの場合、サイズ情報は追加されません。 デフォルトはTRUEです。

「文字列に平坦化」関数によって作成された文字列はLabVIEW文字列です。 配列または文字列サイズを先頭に追加?がTRUEの場合、LabVIEW文字列の冒頭には文字列の長さを示す4バイト(I32)の数値が含まれます。 これにより、NULL文字(ASCII文字のゼロ(0))を含むようにLabVIEW文字列を有効にします。 LabVIEW文字列を外部コードに渡してC文字列として使用すると、文字列に埋め込まれたNULL文字によって問題が発生する場合があります。これは、C文字列が最初のNULL文字で終了すると解釈されるためです。 配列または文字列サイズを先頭に追加?は、最上位データのサイズ情報のみを扱います。 クラスタなどの階層化されたデータタイプにある配列と文字列には、常にサイズ情報が含まれています。
バイト順序は、結果として得られる平坦化された文字列のデータのエンディアン形式を設定します。 バイト順序(エンディアン形式)は、整数が最上位のバイトから最下位のバイトへの順序、またはその逆の順序のどちらでメモリ上に配置されるかを示します。

0big-endian, network order(デフォルト)―最上位のバイトが最下位のメモリアドレスを占有します。
1native, host order―ホストコンピュータのバイト順序形式を使用します。
2little-endian―最下位のバイトが最下位のメモリアドレスを占有します。
エラー入力は、このノードを実行する前に発生したエラーの状態を示します。 この入力は、標準エラー入力として機能します。
データ文字列は、関数により生成された平坦化されたデータです。 データ文字列には、スカラ以外のコンポーネントがサイズを表す前にヘッダ情報が含まれる場合があります。 そのような文字列はファイルに保存する、またはネットワークを介して送信できます。 文字列をネットワークを介して送信する場合、受信側はその文字列を解釈できる必要があります。 通常、LabVIEWでは不連続で間接的に基準とされる部分としてデータを保存します。 この関数は、LabVIEW形式のデータを連続バッファのデータ文字列からコピーします。 「文字列から非平坦化」関数を使用して、データ文字列を任意のデータタイプに変換します。
タイプ文字列(7.xのみ)は、端子がすでに以前のバージョンのLabVIEWから配線されているか、または関数を右クリックしてショートカットメニューから7.xデータの変換を選択した場合のみ表示されます。 タイプ文字列(7.xのみ)は、データ文字列符号化バイナリ表記です。 タイプ文字列(7.xのみ)は、「文字列から非平坦化」関数のタイプ入力とは異なります。 タイプ文字列(7.xのみ)が、任意のデータに配線されたデータタイプを表記できない場合、この関数はエラーを返します。
エラー出力には、エラー情報が含まれます。 この出力は、標準エラー出力として機能します。

文字列に平坦化の詳細

平坦化データを出力しない単純なデータタイプの変換には、「型変換」関数を使用します。

タイプデスクリプタデータを、LabVIEW 7.x以前で読み取り可能な文字列に平坦化するには、この関数を右クリックしてショートカットメニューから7.x データの変換を選択します。 7.x データの変換モードでは、この関数にタイプ文字列 (7.x のみ) 出力と赤い7.xアイコンが表示されます。 バージョン7.x以前のLabVIEWは、16ビットの平坦化表記でタイプデスクリプタを保存します。 バージョン8.0以降のLabVIEWは、32ビットの平坦化表記でタイプデスクリプタを保存します。 ナショナルインスツルメンツでは7.x データの変換モードを長期間のソリューションとして使用するアプリケーションを再度構築することを推奨します。

ブールデータを、LabVIEW 4.x以前で読み取り可能な文字列に平坦化するには、この関数を右クリックしてショートカットメニューから4.x データの変換を選択します。 ショートカットメニューの4.x データの変換は、任意タイプにブールデータを配線した場合にのみ表示されます。 4.x データの変換モードでは、この関数はLabVIEW 4.xデータストレージレイアウトにデータを書き込み、この関数上に赤い4.xのアイコンを表示します。 LabVIEW 4.x以前では、ブールデータは2バイトで保存されます。ただし、データが配列にある場合は、単一ビットでブール要素が保存されます。 LabVIEW 5.0以降では、ブール値が配列内にあるないに関係なく、すべて1バイトで保存されます。 ナショナルインスツルメンツでは4.x データの変換モードを長期間のソリューションとして使用するアプリケーションを再度構築することを推奨します。

この関数でバリアントデータを平坦化すると、LabVIEWはバリアントと属性を含むすべてのコンテンツを平坦化します。 ただし、「バリアントから平坦化文字列に変換」関数を使用すると、LabVIEWはバリアントのみ平坦化して、属性のすべてを破棄します。

この関数を使用してタイプ定義として保存したカスタム制御器または表示器のデータを平坦化すると、関数はそのタイプ定義ラッパーのタイプ定義を削除します。 ラッパーを削除したくない場合、関数を右クリックして、ショートカットメニューからタイプ定義を表示を選択します。 タイプ定義を表示ショートカットメニュー項目は、タイプ文字列 (7.x のみ) にデータを配線した場合にのみ表示されます。



この記事は役に立ちましたか。

役に立たなかった