タグ付けされた質問 「unicode」

Unicodeは、すべての書記体系、技術記号、句読点を組み込んだテキストに必要なすべての文字をサポートすることを目的とした、テキストのエンコード、表現、処理の標準です。


7
特定のUnicode文字を含むコメントでJavaコードを実行できるのはなぜですか?
次のコードは、「Hello World!」という出力を生成します。(いいえ、実際に試してみてください)。 public static void main(String... args) { // The comment below is not a typo. // \u000d System.out.println("Hello World!"); } これは、JavaコンパイラがUnicode文字\u000dを新しい行として解析し、次のように変換されるためです。 public static void main(String... args) { // The comment below is not a typo. // System.out.println("Hello World!"); } したがって、「実行」されるコメントになります。 これは悪意のあるコードや悪意のあるプログラマが思いつくものを「隠す」ために使用できるので、なぜコメントで許可されているのですか? なぜこれがJava仕様で許可されているのですか?
1356 java  unicode  comments 

28
UnicodeEncodeError: 'ascii'コーデックは位置20の文字u '\ xa0'をエンコードできません:序数が範囲(128)にありません
(異なるサイトの)異なるWebページからフェッチされたテキストからのUnicode文字の処理に問題があります。BeautifulSoupを使用しています。 問題は、エラーが常に再現できるとは限らないことです。いくつかのページで動作することもあれば、をスローすることでbarfsすることもありUnicodeEncodeErrorます。考えられる限りのことをすべて試しましたが、何らかのUnicode関連のエラーをスローせずに一貫して機能するものは何も見つかりませんでした。 問題の原因となっているコードのセクションの1つを以下に示します。 agent_telno = agent.find('div', 'agent_contact_number') agent_telno = '' if agent_telno is None else agent_telno.contents[0] p.agent_info = str(agent_contact + ' ' + agent_telno).strip() 上記のスニペットが実行されたときにSOME文字列で生成されるスタックトレースは次のとおりです。 Traceback (most recent call last): File "foobar.py", line 792, in <module> p.agent_info = str(agent_contact + ' ' + agent_telno).strip() UnicodeEncodeError: 'ascii' codec can't encode character …



8
文字列リテラルの前の「b」文字は何をしますか?
どうやら、以下は有効な構文です: my_string = b'The string' 私が知りたいのですが: この何をないb文字列の前の文字が意味ですか? 使用するとどのような影響がありますか? それを使用する適切な状況は何ですか? 私はSOで関連する質問を見つけましたが、その質問はPHPに関するものであり、それは、bコードがPHP <6のバージョンから互換性を持つために必要であったUnicodeとは対照的に、文字列がバイナリであることを示すために使用されていることを示しています、PHP 6への移行時。これはPythonには当てはまらないと思います。 同じ構文で文字を使用して文字列をUnicodeとして指定することについて、Pythonサイトでこのドキュメントを見つけましたu。残念ながら、そのドキュメントのどこにもb文字については触れられていません。 また、単に好奇心から、より多くのシンボルがあるbとu、他の事をしますか?
831 python  string  unicode  binary 


12
std :: wstring VS std :: string
私は間の違いを理解することはできませんよstd::stringとをstd::wstring。私が知っているwstringサポートに、このようなUnicode文字としてワイド文字が。次の質問があります。 いつstd::wstringオーバーで使用すべきstd::stringですか? std::string特殊文字を含むASCII文字セット全体を保持できますか? されるstd::wstringすべての一般的なC ++コンパイラでサポートされていますか? まさに「ワイドキャラクター」とは?
741 c++  string  unicode  c++-faq  wstring 

2
Zalgoテキストはどのように機能しますか?
StackаэтотвопросестьответынаStack Overflowнарусском:Какработаеттекст«Залго»? 以下のようなZalgoと呼ばれる奇妙な形式のテキストがさまざまなフォーラムで書かれているのを見ました。見るのはちょっと面倒ですが、キャラクターがどうあるべきかという私の考えを損なうので、本当に面倒です。私の理解では、キャラクターは線を横切って水平に移動し、特定の「コンテナー」内にとどまるはずです。明らかに、Zalgoテキストは垂直方向に移動しており、スペースに制限されていないようです。 これはUnicodeのバグ/欠陥/悪用/ハックですか?これらの個々のキャラクターは奇妙な特性を持っていますか?"ここで何が起きてるの? H̡̫̤̤̣͉̤ͭ̓̓̇͗̎̀ơ̯̗̱̘̮͒̄̀̈ͤ̀͡w͓̲͙͖̥͉̹͋ͬ̊ͦ̂̀̚ ͎͉͖̌ͯͅͅd̳̘̿̃̔̏ͣ͂̉̕ŏ̖̙͋ͤ̊͗̓͟͜e͈͕̯̮̙̣͓͌ͭ̍̐̃͒s͙͔̺͇̗̱̿̊̇͞ ̸̤͓̞̱̫ͩͩ͑̋̀ͮͥͦ̊Z̆̊͊҉҉̠̱̦̩͕ą̟̹͈̺̹̋̅ͯĺ̡̘̹̻̩̩͋͘g̪͚͗ͬ͒o̢̖͇̬͍͇͓̔͋͊̓ ̢͈͙͂ͣ̏̿͐͂ͯ͠t̛͓̖̻̲ͤ̈ͣ͝e͋̄ͬ̽͜҉͚̭͇ͅx͎̬̠͇̌ͤ̓̂̓͐͐́͋͡ț̗̹̝̄̌̀ͧͩ̕͢ ̮̗̩̳̱̾w͎̭̤͍͇̰̄͗ͭ̃͗ͮ̐o̢̯̻̰̼͕̾ͣͬ̽̔̍͟ͅr̢̪͙͍̠̀ͅǩ̵̶̗̮̮ͪ́?̙͉̥̬͙̟̮͕ͤ̌͗ͩ̕͡
694 html  unicode  zalgo 


7
「u」と「r」の文字列フラグは正確には何をしているのですか、また生の文字列リテラルとは何ですか?
尋ねながら、この質問を、私は生の文字列についてあまり知りませんでした実現しました。Djangoトレーナーであると主張する人にとっては、これはひどいことです。 エンコーディングとは何かを知ってu''います。Unicodeを取得しているので、それだけで何ができるのかはわかっています。 しかし、r''正確には何をしますか?その結果、どのような文字列になりますか? そして何より、一体何をするのur''でしょうか? 最後に、Unicode文字列から単純な生の文字列に戻る信頼できる方法はありますか? ああ、ところで、システムとテキストエディタの文字セットがUTF-8に設定されている場合、u''実際には何をしますか?

15
Twitter画像エンコードチャレンジ[終了]
現在のところ、この質問はQ&A形式には適していません。事実、参考文献、専門知識によって回答が裏付けられることを期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前休業。 ロックされています。質問はトピックから外れていますが、歴史的に重要であるため、この質問とその回答はロックされています。現在、新しい回答や相互作用を受け入れていません。 1000語に相当する画像の場合、140文字でどのくらいの画像を収めることができますか? 注:それだけです。バウンティの締め切りはここにあり、いくつかの厳しい審議の後、Boojumのエントリは、Sam Hocevarのエントリをかろうじて取り除いたと判断しました。それらを書く機会があったら、私はより詳細なメモを投稿します。もちろん、誰もが自由に気軽に解決策を提出し、人々が投票できるように解決策を改善してください。応募してくださった皆様、ありがとうございました。私はそれらすべてを楽しんだ。これは私が走るのがとても楽しかったです、そしてそれが参加者と観客の両方にとって楽しいことを願っています。 画像をTwitterのコメントに圧縮しようとするこの興味深い投稿に出くわしました。そのスレッド(およびRedditのスレッド)の多くの人々が、さまざまな方法について提案をしてくれました。ですから、それは良いコーディング課題になると思います。人々がお金を自分の口に置くことを許可し、エンコーディングに関する彼らのアイデアがあなたが利用できる限られたスペースでより詳細にどのようにつながることができるかを示してください。 画像を140文字のTwitterメッセージにエンコードし、再度画像にデコードするための汎用システムを考え出すことをお勧めします。Unicode文字を使用できるので、1文字あたり8ビットを超えます。ただし、Unicode文字を使用できる場合でも、画像を非常に小さなスペースに圧縮する必要があります。これは確かに非可逆圧縮になるため、各結果の見栄えについて主観的な判断が必要になります。 オリジナルの作者であるQuasimondoがエンコーディングから得た結果は次のとおりです(画像はCreative Commons Attribution-Noncommercialライセンスの下でライセンスされています): あなたはもっとうまくできますか? ルール プログラムには、エンコーディングとデコーディングの 2つのモードが必要です。 エンコードするとき: プログラムは、選択した任意の適切なラスターグラフィック形式のグラフィックを入力として受け取る必要があります。ImageMagickでサポートされているラスター形式はすべて妥当と見なされます。 プログラムは、140以下のUnicodeコードポイントで表現できるメッセージを出力する必要があります。140コード範囲内の点U+0000- U+10FFFF非文字を除く、( 、、U+FFFE N、Nここで、Nである- 進数、およびレンジ- )とサロゲートコードポイント(- )。選択した任意の適切なエンコーディングで出力できます。GNUでサポートされているエンコーディングはすべて妥当と見なされ、プラットフォームのネイティブエンコーディングまたはロケールエンコーディングが適切な選択となるでしょう。詳細については、以下のUnicodeノートを参照してください。U+FFFFU+FFFEU+FFFF110U+FDD0U+FDEFU+D800U+DFFFiconv デコード時: プログラムは、エンコードモードの出力を入力として受け取る必要があります。 プログラムは、上記で定義されているように、選択した任意の適切な形式で画像を出力する必要がありますが、出力のベクトル形式も問題ありません。 画像出力は入力画像の近似である必要があります。入力画像に近づくほど、良い結果になります。 デコードプロセスは、上記で指定された出力以外のエンコードプロセスの他の出力にアクセスできない場合があります。つまり、画像をどこかにアップロードして、ダウンロードするためのデコードプロセスのURLなど、ばかげたものを出力することはできません。 ユーザーインターフェイスの一貫性を保つために、プログラムは次のように動作する必要があります。 プログラムは、適切なインタープリターを備えたプラットフォームで実行可能に設定できるスクリプト、または実行可能ファイルにコンパイルできるプログラムでなければなりません。 プログラムでは、最初の引数として、encodeまたはdecodeモードを設定する必要があります。 プログラムは、次の1つ以上の方法で入力を受け取る必要があります(ファイル名を受け取る方法を実装する場合、ファイル名が欠落している場合は、stdinおよびstdoutから読み書きすることもできます)。 標準入力から入力を受け取り、標準出力に出力を生成します。 my-program encode <input.png >output.txt my-program decode <output.txt >output.png 2番目の引数で指定されたファイルから入力を受け取り、3番目の引数で指定されたファイルに出力を生成します。 my-program encode input.png output.txt my-program decode output.txt …

7
最新のPerlがデフォルトでUTF-8を回避するのはなぜですか?
Perlを使用して構築された最新のソリューションのほとんどがデフォルトでUTF-8を有効にしないのはなぜでしょうか。 コアPerlスクリプトには多くのレガシー問題があり、問題が発生する可能性があることを理解しています。しかし、私の視点から、21で番目の世紀、大きな新しいプロジェクト(または大きな視点でのプロジェクトは)最初からそのソフトウェアUTF-8証明を行う必要があります。それでも私はそれが起こっているのを見ません。たとえば、Mooseは厳格な警告を有効にしますが、Unicodeは無効にします。Modern :: Perlはボイラープレートも削減しますが、UTF-8処理は行いません。 どうして?2011年に最新のPerlプロジェクトでUTF-8を回避する理由はありますか? @tchristへのコメントが長すぎたので、ここに追加します。 はっきりしないようです。いくつか追加してみましょう。 tchristと私は状況をかなり似ていますが、私たちの結論は完全に反対です。同意しますが、Unicodeの状況は複雑ですが、これが私たち(Perlユーザーおよびコーダー)が、UTF-8の処理を現在のように簡単にするいくつかのレイヤー(またはプラグマ)が必要な理由です。 tchristはカバーする多くの側面を指摘しました、私はそれらを数日あるいは数週間読んで考えます。それでも、これは私の趣旨ではありません。tchristは、「UTF-8を有効にする」単一の方法がないことを証明しようとします。私はそれについて議論する知識があまりありません。それで、私は生きている例に固執します。 楽堂をいじってみたところ、UTF-8は必要なだけそこにありました。私は何の問題もなく、それはうまくいった。おそらく、どこかもっと深いところにいくつかの制限があるかもしれませんが、最初は、テストしたすべてが期待どおりに機能しました。 最新のPerl 5でもそれは目標ではないでしょうか?私はもっ​​と強調します:コアPerlのデフォルトの文字セットとしてUTF-8を提案しているのではなく、新しいプロジェクトを開発している人のためにスナップでトリガーする可能性を提案しています。 別の例ですが、よりネガティブなトーンです。フレームワークは開発を容易にするはずです。数年前、私はWebフレームワークを試しましたが、「UTF-8の有効化」があまりに曖昧だったので、それらを捨てました。Unicodeサポートをフックする方法と場所が見つかりませんでした。時間のかかる作業だったので、古い方法を使う方が簡単だと思いました。今、私はここでMason 2 と同じ問題に対処するための恵みがあったことを見ました:Mason2 UTF-8をきれいにする方法は?。したがって、これはかなり新しいフレームワークですが、UTF-8で使用するには、その内部について深い知識が必要です。それは大きな赤い看板のようなものです:やめて、私を使わないで! 私は本当にPerlが好きです。しかし、Unicodeの扱いは面倒です。私はまだ壁に向かって走っています。何らかの方法でtchristが正しく、私の質問に答えます。Perl5では複雑すぎるため、新しいプロジェクトはUTF-8を引き付けません。
557 perl  unicode  utf-8 

8
UnicodeDecodeError: 'charmap'コーデックはY位置のバイトXをデコードできません:文字は<undefined>にマップされます
Python 3プログラムに、情報が入ったテキストファイルを使用していくつかの操作を実行させようとしています。ただし、ファイルを読み取ろうとすると、次のエラーが発生します。 Traceback (most recent call last): File "SCRIPT LOCATION", line NUMBER, in &lt;module&gt; `text = file.read()` File "C:\Python31\lib\encodings\cp1252.py", line 23, in decode `return codecs.charmap_decode(input,self.errors,decoding_table)[0]` UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 2907500: character maps to `&lt;undefined&gt;`

6
👩‍👩‍👧‍👦のような絵文字がSwift文字列で奇妙に扱われるのはなぜですか?
文字👩‍👩‍👧‍👦(女性2人、女の子1人、男の子1人の家族)は、次のようにエンコードされます。 U+1F469 WOMAN、 ‍U+200D ZWJ、 U+1F469 WOMAN、 U+200D ZWJ、 U+1F467 GIRL、 U+200D ZWJ、 U+1F466 BOY したがって、非常に興味深いエンコード方式です。単体テストの完璧なターゲット。ただし、Swiftはその処理方法を認識していないようです。これが私の意味です: "👩‍👩‍👧‍👦".contains("👩‍👩‍👧‍👦") // true "👩‍👩‍👧‍👦".contains("👩") // false "👩‍👩‍👧‍👦".contains("\u{200D}") // false "👩‍👩‍👧‍👦".contains("👧") // false "👩‍👩‍👧‍👦".contains("👦") // true それで、スウィフトはそれがそれ自身(良い)と男の子(良い!)を含んでいると言います。しかし、それはそれは女性、女の子、またはゼロ幅のジョイナーが含まれていないと言います。ここで何が起こっているのですか?なぜSwiftは少年が含まれているのに女性や少女が含まれていないことを知っているのですか?それが単一の文字として扱われ、それ自体を含むだけであると認識した場合は理解できましたが、サブコンポーネントが1つしかなく、他のコンポーネントがないという事実は、私を困惑させます。 これは、のようなものを使用しても変わりません"👩".characters.first!。 さらに交絡はこれです: let manual = "\u{1F469}\u{200D}\u{1F469}\u{200D}\u{1F467}\u{200D}\u{1F466}" Array(manual.characters) // ["👩‍", "👩‍", "👧‍", "👦"] そこにZWJを配置しても、文字配列には反映されません。その後のことは少し語っていました: manual.contains("👩") // false manual.contains("👧") // …
540 swift  string  unicode  emoji 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.