問題タブ [utf-16]
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.
xml - UTF-16 でエンコードされたテキスト ファイルを検索して置換する最も簡単な方法は何ですか?
参照する名前を変更して、一連の xml ファイルを更新しようとしています。変更された名前のテーブル、現在の名前の列、および置き換える名前の列があります。
検索と置換をスクリプト化する方法を探したところ、sed が見つかりました。最初の試行を実行するまでは、良い選択のように思えました。ファイルを調べたところ、すべてのキャリッジ リターンとライン フィードの間にいくつかの認識できない文字が見つかりました。検索を行ったところ、utf-16 ファイルで使用される sed に問題があることがわかりました。
これらは私が検索しているテキスト ファイルですが、SQL Server テーブルの xml 型の列にコピーが保存されています。データベースを更新または入力するとき、フィールドは常に ColumnName=N'xmltext' のように設定されます。
これらのフィールドを更新する方法にも興味がありますが、主な問題はテキスト ファイルを更新する最善の方法です。
拡張正規表現を使用しています。検索は for で、次の([>\\.])OldName([<\\.])
ように置き換えます\1NewName\2
java - BOM を使用せずに異なるエンコーディングを識別するにはどうすればよいですか?
utf-16LE でエンコードされたファイルからコンテンツを取得するファイル ウォッチャーがあります。書き込まれたデータの最初のビットには、利用可能な BOM があります。これを使用して、UTF-8 に対するエンコーディングを識別していました (受信するほとんどのファイルがエンコーディングされています)。BOM をキャッチして UTF-8 に再エンコードし、パーサーが異常を起こさないようにします。問題は、ファイルが拡大するため、データのすべてのビットに BOM が含まれているわけではないことです。
これが私の質問です - 私が持っているデータの各セットに BOM バイトを追加せずに (ソースを制御できないため)、UTF-16 \000 に固有の null バイトを探してから使用できますか? BOMの代わりに私の識別子としてそれを?これにより、今後頭痛がすることはありますか?
私のアーキテクチャには、Java で記述されたパーサーが取得したときに受信したデータを一時ファイルに記録する ruby Web アプリケーションが含まれます。
私の識別/再エンコードコードは次のようになります。
アップデート
ユーロ、em ダッシュ、およびその他の文字などをサポートしたいと考えています。上記のコードを次のように変更したところ、これらの文字のすべてのテストに合格したようです。
皆さんはどう思いますか?
c# - int を使用してアストラル プレーンの Unicode コード ポイントをコンソールに出力する
関連する質問はこちらをご覧ください。
ただし、(または)char
に移動します。(または)、ゴシック文字の Faihuを書く必要があるため、そのキャストは機能しません。つまり、正しい整数を取得します。つまり、サロゲートペアを計算しますが、それを「レンダリング」する方法がわかりません。グリフとして出力される文字に変換します。0xffff
65535
0xd800df46
66374
int
char
\Unnnn を使用できないことに注意してください... まあ、理論的な理由です。
ありがとうございました。
unicode - ダミーの Unicode ガイド
誰か簡潔な定義を教えてくれませんか
- ユニコード
- UTF7
- UTF8
- UTF16
- UTF32
- コードページ
- Ascii/Ansi/Windows 1252 との違い
私はウィキペディアのリンクや信じられないほどの詳細を求めているのではなく、Unicode の巨大なバリエーションがどのように、なぜ生じたのか、そしてプログラマーとして関心を持つべき理由についての簡単な情報を求めているだけです。
java - Java での UTF-16 から ASCII への変換
ずっと無視してきたので、私は現在、Java の Unicode についてもっと学ぶことを余儀なくされています。UTF-16 文字列を 8 ビット ASCII に変換するために必要な演習があります。誰かがJavaでこれを行う方法を教えてもらえますか? 考えられるすべての Unicode 値を ASCII で表すことはできないことを理解しています。したがって、この場合、0xFF を超えるコードを追加するだけで済みます (不良データも黙って追加する必要があります)。
ありがとう!
asp.net-mvc - UTF-8 が指定されている場合、ASP.NET MVC の ContentResult コントローラーが UTF-16 を返すのはなぜですか?
組み込みデバイスの XML を返す ActionResult があります。関連するコードは次のとおりです。
UTF-8 が指定されていても、結果の XML は次のようになります。
ASP.NET MVC は AnyCPU としてコンパイルされ、Windows 2008 サーバー上で実行されます。
UTF-8 でエンコードされた XML が返されないのはなぜですか?
string - 文字列内のすべての文字の ASCII コードを取得するための Tcl
文字列内のすべての文字の ASCII 文字を取得する必要があります。実際には、(小さな)ファイル内のすべての文字。次の最初の 3 行は、すべてのファイルの内容を文字列に正常にプルします (このレシピに従って):
文字の ASCII コードを正しく認識していると思います ( http://wiki.tcl.tk/1497を参照)。ただし、文字列内のすべての文字をループする方法を理解するのに問題があります。
まず第一に、以下は Tcl を使用して文字列内の文字をループする特に慣用的な方法ではないと思います。2 つ目は、さらに重要なことですが、すべての文字の間に余分な要素が挿入され、正しく動作しません。
以下は、上記で設定した「データ」変数の内容に基づいて動作するように記述したコードと、それに続くサンプル出力です。
コード:
出力:
file - UTF-16 ファイルの内容を検出する
ファイルに Unicode (1 文字あたり 16 バイト) または 8 ビット ASCII コンテンツがあるかどうかを知ることは可能ですか?
xml - MSXMLWriter60 が UTF-16 エンコーディングの byteOrderMark を出力しない
「XMLDOMDocument に XML 宣言を含めるにはどうすればよいですか?」で見られるコードのバリアントを使用しています。(これはMSDNでも見ることができます。エンコーディングを「UTF-16」に変更すると、UTF-16 として出力されると思われます...そして、テキスト エディターで出力を見ると「そうします」... ; しかし、16 進エディタでチェックすると、(プロパティが true に設定されているにもかかわらず) バイト オーダー マークが欠落しており、XML エディタは BOM が欠落しているためにドキュメントを無効な UTF-16 として拒否します。
私は何を見落としていますか?
出力は次のようになります。
なぜ VB6 を使用しているのですか? 実際には VBA (同世代、VB6 のわずかなサブセット) であり、EMC-Captiva の InputAccel/FormWare のスクリプト言語として使用されるため、切り替えはオプションではありません。
java - JNA を使用してアプリケーション識別子を取得/設定する
Windows 7 のタスクバーに関する以前の質問に続き、アプリケーションが に依存していないことを Windows が認識しない理由を診断したいと思いますjavaw.exe
。現在、次のJNAコードを取得して取得していAppUserModelID
ます:
アプリケーションの出力は一見意味不明です。
出力がUTF-16である可能性があることを認識して、(3)バイト配列をUTF-16から変換してみました。PWSTR
正直なところ、(a) a のサイズがわからず、(b)GetCurrentProcessExplicitAppUserModelID
が実際にバイト配列または文字列を返すかどうかわからないため、ここでの私のアプローチが正しいかどうかはわかりません。
JSmooth は、この効果をシミュレートするラッパーで GUI プロセスを実行することを認識しています。Launch4j は同じことを行うと主張していますが、機能していないようです。Javaラッパーに関係なくAppUserModelID
、セットを探しています。
ここで何がうまくいかないのですか?