問題タブ [terminator]

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 投票する
2 に答える
3769 参照

java - 一貫性のない行ターミネータを使用して Java ソケットから行を読み取る

TCP/IP ソケットからテキスト行を取得するために BufferedReader#readLine() を使用しています。

同じセッション中に、サーバーが \r\n で終了する行を送信することもあれば、\n だけで終了する行を送信することもあります。

この動作は私の管理下にありません:(

readLine() の Javadoc には次のように書かれています。

「行は、ライン フィード ('\n')、キャリッジ リターン ('\r')、またはキャリッジ リターンの直後のラインフィードのいずれかによって終了すると見なされます。」

残念ながら、それはうまくいかないようです (少なくとも Windows では)。\r\n で終わる行を読み取ることだけを「認識」します。

なにか提案を?

前もって感謝します、エイドリアン。

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

sql-server-2008-r2 - SQL Serverの一括挿入で、フィールドターミネータと行ターミネータに上位ASCII文字を使用するにはどうすればよいですか

SQL Server2008R2で実行しようとしているSQLServer2000で機能する一括挿入がありますが、期待どおりに機能していません。私はこれらの一括挿入をSQL2000に次のように正常に実行しています。

フォーマットファイル:

データファイル:

一括挿入コマンド:

SQL 2008 R2ボックスで実行しているので、次のエラーが発生します。

フィールドターミネータをascii249(ù)からコンマ(、)に変更し、行ターミネータをascii 250(ú)からセミコロン(;)に変更すると、すべてが実行されます。ただし、これは実際にはオプションではなく(データには確かにそれらの文字が含まれます)、区切り文字に!@#$%^&*()のような任意の文字列を選択したくありません(さらにコードを編集する必要があります)そのように)。

コードページ、データファイルタイプ、照合、SQL互換レベル、フォーマットファイルバージョンのいくつかの組み合わせを試しましたが、役に立ちませんでした(これらすべてがどのように相互作用してここで何かを変更するかを知る専門知識があるわけではありません)。一括挿入MSDNドキュメントのさまざまな部分で、127より大きいまたは32より小さいASCII文字に関する特別な規則が参照されていますが、それが区切り文字にどのように影響するかを完全に理解することはできません。

できるだけ少ないコードに触れながら、新しいサーバーで実行できるようにするにはどうすればよいですか?

更新(解決策)

@Adam Wengerのコメントのおかげで、私は解決策を見つけました。データに拡張ASCII文字が含まれていることに対処するために、フォーマットファイルを使用せず、一括挿入データファイルをユニコード(ANSIではない)としてファイルシステムに書き込んでいます(データにユニコード文字が実際にはない場合でも) 。これが私の新しい一括挿入ステートメントです('widechar'に注意してください):

何を試しても、拡張ASCII文字(127以上)で動作するフォーマットファイルを取得できませんでした。フォーマットファイルを削除し、インポートしていない列を表すためにデータファイルに追加のフィールド区切り文字を追加しました(これらの列にはデフォルトがあります)。

0 投票する
3 に答える
18731 参照

vim - Vim + Terminator + Ubuntu 11.10 の Solarized テーマ

ターミネーターで vim のソラライズされたテーマをセットアップしようとしていますが、機能していません。:-(ターミネーター用にsolarizedを正常にセットアップできましたが、vimでは機能しないようです。私の.vimrcは次のようになります

上記の 2 行のコメントを外して試してみましたが、まだ機能していません。

誰かが私が間違っていることを教えてもらえますか?

ありがとう!

編集:ソラライズされたvim

0 投票する
5 に答える
1369 参照

c++ - C++ char配列はnullターミネータを正しく移動しますか?

こんにちは、私の問題は説明が難しいので、ここにコード セクションを投稿し、例を挙げて問題を説明します。

このコードには大きな配列と小さな配列があり、大きな配列は小さな部分に分割され、小さな配列に格納され、小さな配列はそのコンテンツを画面に出力しています。
その後、小さな配列の割り当てられたメモリを解放し、大きな配列の次の部分で再度初期化します。

今私の問題は、出力された文字列の最後に毎回ランダムな記号があることです。例えば"some_characters_here...last_char_hereRANDOM_CHARS_HERE".

詳しく調べたところ、splitArray のサイズは実際には 50 ではなく、null ターミネータが 64 の 64 であることがわかりました。そのため、bigArray から splitArray にコピーすると、実際の文字列の後に 14 個のランダムな文字が残っています。もちろん、私はそれらを出力したくありません。

簡単な解決策は、手動で splitArray の null ターミネータを [50] に設定することですが、プログラムは再び配列の削除に失敗します。

これに対する解決策を見つけるのを手伝ってくれる人はいますか? できればいくつかのサンプルコードを使用してください、ありがとう。

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

c++ - base64 エンコードの null ターミネータ

こんにちは、私は現在、C++ で base64 エンコーディング メソッドを使用して文字列をエンコードしようとしています。

文字列自体は正常にエンコードされますが、デコードされた文字列の最後に余分な null 文字が必要です (そのため、デコードされた文字列を保存するテキスト ファイルにも null 文字が表示されます)。

ここでこのbase64コードを使用しています-> http://www.adp-gmbh.ch/cpp/common/base64.html

これを可能にするためにここでできることをアドバイスしていただければ幸いです(エンコードしている文字列の最後に2つのnull文字をすでに書き込んでみましたが、エンコード方法は最初に出現した空文字)。

0 投票する
3 に答える
1219 参照

ruby-on-rails - ターミネーターがレールを見つけることができませんでした

私はubuntu12.04LTSを使用しています。rvmとrailsを介してrubyを正常にインストールしました。また、rails -v、ruby -vを連続して入力すると、ターミナルにレールとrubyのバージョンを確認できます。一方、ターミネーターをにインストールしました。私のubuntuと私はrails-vを入力しているときにエラーメッセージに直面しました:プログラム'rails'は現在インストールされていません。次のように入力してインストールできます。sudoapt-getinstallrails ruby​​ -vと入力すると、エラーメッセージは表示されず、バージョンが出力されます。問題はありません。私はすでにrubyとrailsを正常にインストールしており、ターミナルで正しく動作することに注意してください。これが状況のいくつかの写真です:

http://imageshack.us/f/819/screenshotfrom201206281.png/

http://imageshack.us/photo/my-images/407/screenshotfrom201206281.png/

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

sql-server - 一括挿入は 1 行をインポートしてから終了します

私は毎日、数十の中程度のサイズのテキスト ファイルを SQL SERVER にインポートするコードを書いています。現在、これらは FOXPRO データベースにインポートされています。SQL SERVER を使用するように変換しています。すべての固定長ファイルを完成させましたが、最後の 3 つのデータ ファイルには、各行の最後のフィールドとして可変長フィールドがあります。この最終フィールドの長さは最大 32,000 バイトです。データベースでは、これを VARCHAR(MAX) として宣言しました。

フィールド ターミネータは、改行である行ターミネータです。つまり、行は、2 つの改行ではなく、フィールドの終わりと行の終わりの両方を示す単一の「0x0a」で終了します。

私が使用しているSQLは次のとおりです。

Translate_eep.xml は次のようになります。

残念ながら、これを使用すると、1行インポートしてから終了します。ファイル全体を読み取るにはどうすればよいですか?

サンプルデータ:

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

vim - Vim でファイル名に一重引用符を含むファイルを編集する

Vim で奇妙な問題に遭遇しました。デスクトップまたはファイル マネージャから Vim にファイルをドラッグ アンド ドロップして編集したいと考えています。Gvim はこの動作を正しく処理します。

コンソール Vim で同じことをしようとすると、代わりにファイル名へのパスが挿入されます。たとえば、ファイル /home/myuser/foo.matic をドラッグ アンド ドロップすると、テキスト文字列 '/home/myuser/foo.matic' が現在のバッファに適用されます。

:edit と入力してファイル名をドラッグ アンド ドロップすると、Vim は '/home/myuser/foo.matic' を新しいディレクトリとして扱います。

ここでの問題は、ファイル パスの前後の引用符だと思います。これらは gnome-terminal と terminator の両方によって挿入されるようです。ドラッグ アンド ドロップ時にファイル名からこれらの引用符を削除する方法はありますか? または、Vim が引用符を無視する方法はありますか?

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

terminal - セッション中に端末 (ターミネーター) の履歴をさらに表示する

私はばかげた間違いを犯し、Octave セッションを一晩実行して端末に結果を生成しました。これは、端末出力を手動でコピーしてファイルに貼り付けることを目的としています。ただし、すべてのセッション出力をコピーするのに十分な距離までスクロールできないことがわかりました。ターミナル ウィンドウで確認できない現在のセッション履歴にアクセスするにはどうすればよいですか? さらに複雑なのは、私が使用している端末がターミネータであり、編集オプションがないように見えるため、編集 -> すべて選択 -> コピーを使用できないことです。これを書いている時点では、ターミナルと Octave セッションはまだ開いているため、 Octave を終了したりターミナルを閉じたりせずに、以前の履歴を表示する必要があります。

0 投票する
3 に答える
9201 参照

javascript - 文字列に任意に配置されたnullターミネータがそれを終了しないのはなぜですか?

ヌル文字またはヌルターミネータ(\0)は、連続する文字シーケンスを終了するために使用されます。Cでは、文字をランダムな位置で文字列に追加でき、その点から文字列が切り取られることがわかりました。例えば:

文字列とs等しくなります"Hello"。ただし、JavaScriptでは、これは当てはまりません。

上記は期待どおりに機能しません。s文字列と等しくなります"HelloWorld"

なぜこれが機能しないのですか?