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

ユニコードを含む課題。

3
Unicode UTFコンバーター
目標は、UTF FAQに記載されている公式のUnicodeエンコーディング間で完全に準拠したコンバーターを作成することです。これがユニコードに集中していることを考えると、関連するエンコーディング(おそらく、APLでプログラムしない限りUTF-8になる)の可能な限り最高のバイトカウントで回答を受け入れます。長い投稿をおa びしますが、その多くは公式仕様(pdf、セクション3.9 D90-D92)、またはWikipediaでもアクセスできるエンコードについて説明しています。 仕様書 選択した言語がいつでも要件を完全に満たせない場合は、指定されたルールの精神を維持するものに置き換えてください。例えば。すべての言語に組み込みの配列、関数などがあるわけではありません。 文字列ライブラリ/関数の使用、またはライブラリ/関数のエンコードはありません。このコードの目的は、ビット/バイト操作を使用してコンバーターを実装することです。ただし、文字列自体を文字またはバイト配列として使用することは許可されています。ああ、また、変換を実行するOS呼び出しもありません。 コンバーターは、エンコードされた入力文字列を表すバイト配列、および数値として表される「入力」および「出力」エンコーディングの3つのパラメーターを受け取る関数です。UTF-8, UTF-16, UTF-16BE, UTF-16LE, UTF-32, UTF-32BE, and UTF32LE0から6までの番号をこの順序で任意に割り当てます。数があるかどうかをチェックする必要はありません< 0か> 6、私たちはこれらのパラメータが正しいと仮定しますが。コンバーターは、目的の出力エンコーディングで有効なバイト配列を返します。 ヌル文字(U+0000)をストリングターミネーターとして使用します。この後は何でも構いません。入力配列のどこかにヌル文字があると想定しますので、境界チェックを行う必要はありません。 FAQのとおり、入力バイト配列が宣言されたエンコーディングに対して無効な場合、エラーを通知する必要があります。次のいずれかの方法でこれを行います:プログラムをクラッシュさせる、例外をスローする、nullを返す、または最初の4バイトがすべて0である配列を返す(U+0000すべてのエンコードで認識できるように)。 エンコーディング 公式の仕様に従う必要がありますが、ウィキペディアはエンコーディングの適切な(そして正しいと思う限り)説明を提供します。完全を期すためにここで要約します。UTF-16およびUTF-32には、エンディアンのバリエーションがあることに注意してください。 UTF-32、UTF-32LE、UTF-32BE 最も単純なエンコード、各コードポイントは、その数値に等しい4バイトでエンコードされます。LE / BEは、エンディアン(リトルエンディアン/ビッグエンディアン)を表します。 UTF-16、UTF-16LE、UTF-16BE からのコードポイントU+0000 - U+FFFFは、その数値に等しい2バイトでエンコードされます。より大きな値は、から予約された値であるサロゲートのペアを使用してエンコードされますU+D800 - U+DFFF。したがって、より大きいポイントをエンコードするにU+FFFFは、次のアルゴリズムを使用できます(Wikipediaから恥知らずにコピーされます)。 0x010000がコードポイントから差し引かれ、0..0x0FFFFFの範囲の20ビット数が残ります。 上位10ビット(0..0x03FFの範囲の数値)が0xD800に追加され、最初のコードユニットまたはリードサロゲートが与えられます。これは0xD800..0xDBFF [...]の範囲になります。 下位10ビット(0..0x03FFの範囲内)が0xDC00に追加され、2番目のコードユニットまたはトレイルサロゲートが与えられます。これは0xDC00..0xDFFF [...]の範囲になります。 UTF-8 からのコードポイントU+0000 - U+007Fは、その数値に等しい1バイトとしてエンコードされます。U+0080 - U+07FF彼らは次のようにエンコードされている110xxxxx 10xxxxxx、U+0800 - U+FFFFである1110xxxx 10xxxxxx 10xxxxxx、高い値です11110xxx 10xxxxxx 10xxxxxx 10xxxxxx。xさんは、コードポイントの数値からのビットです。 …

11
最小限の文字数で「Lorem ipsum」を出力します
視覚的な意味を持たない奇妙なユニコード文字で情報を保存することができるため、コードサイズは文字ではなくバイト単位で測定されるべきだと言っている人を覚えています。 それはどれほど悪いことができますか? この課題では、Wikipediaから取得した次のLorem Ipsumテキストを出力する必要があります。 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse …

1
ASCIIボックス描画をUnicodeに変換します
私は、私が実際に役立つと思うものへのリクエストを恥知らずに投稿しています。タスクは、このような任意のアスキーボックスの描画を取ることです | +----+----+ | state A +---+ +---------+ | | +----v----+ | state B | +---------+ ...そして、ユニコードボックス描画文字を使用して、より美しいものに変換します。たとえば、 │ ╭────┴────╮ │ state A ├───╮ ╰─────────╯ │ │ ╭────v────╮ │ state B │ ╰─────────╯ さらに詳細に: 変換のみ+-| 文字-他の文字は変更しないでください 使用する 箱型図垂直ライト(U + 2502)│ ボックスドローイングライト水平(U + 2500)─ 箱の図ライトアークダウンおよび右(U + 256D)╭ 箱の図ライトアークダウンと左(U + 256E)╮ ボックス図面ライトアークアップおよび左(U + …

28
Revu'aを綴る
実際には、Atbash Self PalindromesやGeneralized Gematria Calculatorのどちらにも触発されていません。 ストリング所与の長さのN、出力Revu'aシーケンスの最初の文字であり、Sの最初の2つの文字S、...第nは -2の文字S、最初のn -1文字の、全体の。 文字列は、強い指向性を持ち、0x0000〜0xFFFFの範囲にあるUnicode(必要なエンコード)文字のみで構成されます。ただし、方向性制御文字は発生しません。任意の文字列のすべての文字は同じ方向性を持ちます。 ["t","te","tes","test"]スペースで区切られた文字列"t te tes test"、複数行のテキストttetestest、事前にフォーマットされた配列として配列表記で返すことができますt て テス テスト、または同様のもの。先頭、区切り、末尾のスペースの量は重要ではなく、末尾の改行も重要ではありません。疑問がある場合は尋ねます。 右から左への入力は、正しい順序で右から左への出力になる必要があります。 入力:"נחמן" 出力:"נ נח נחמ נחמן"またはנ נח נחמ נחמן 、または["נ","נח","נחמ","נחמן"]。無効な結果の中には"נחמן נחמ נח נ"、"ן מן חמן נחמן"、と"נחמן חמן מן ן"。

5
現在の干支は何ですか?
指定された国に従って、指定された時間の東部干支の絵文字を表示します。 東の黄道帯は、動物とその評判の高い属性を、12年周期で繰り返される各年に割り当てる分類体系です。また、時間に割り当てられます。 ルール: 国はISO 3166-1 alpha-3コードで指定する必要があります。一覧はこちらです。 入力形式は次のようにする必要があります<ISO code> HH:MM。入力は単一の文字列でなければなりません。この形式に適合しない入力は、ドントケアの状況に該当します。 与えられた時間が以下のチャートの境界内にある場合、どちらの黄道帯も出力できます。 これはコードゴルフであるため、バイト単位の最短コードが優先されます。 黄道帯: 国が指定されていない黄道帯がデフォルトです。 最初の干支(23:00 – 01:00): ラット🐀(U + 1F400) ペルシャ(IRN)のマウス🐁(U + 1F401) 2番目の干支(01:00 – 03:00): 牛🐂(U + 1F402) ベトナムの水牛🐃(U + 1F403)(VNM) ペルシャの牛🐄(U + 1F404) 3番目の干支(03:00 – 05:00): タイガー🐅(U + 1F405) ペルシャのヒョウ🐆(U + 1F406) 4番目の干支(05:00 – 07:00): ウサギ🐇(U + 1F407) ベトナムの猫🐈(U …

16
最高値文字列
最高値文字列 入力文字列を指定すると、各Unicode文字の合計が最も高い単語を返します。 ルール 入力は空白で区切る必要があります 各単語の値は、単語のUTF-16コードの各文字の合計に基づいています 出力は、最大値を持つ最初の単語である必要があります(合計が重複している場合) 例 Input: "a b c d e" Output: "e" Input: "hello world" Output: "world" Input: "this is a test" Output: "test" Input: "àà as a test" Output: "àà" Input "α ää" Output: "α" Input: "🍬 隣隣隣" Output: "隣隣隣" Input: "💀 👻 🤡 🦇 🕷️ …

16
実際の不可視テキストを印刷する
私の以前の課題である、目に見えないテキストを印刷することは非常に一般的でした。 しかし、あなたをもっと注意深く見ている人は、出力だけでは入力されたものを読むことは不可能なので、実際には目に見えないテキストを印刷していないことに気付いているかもしれません。 だから私は本当の目に見えないテキストの挑戦はどうだろうと考えました。 印刷可能なASCII文字(0x20-0x7E)のみで構成される文字列が与えられた場合、各文字を95の印刷可能なASCII文字(0x20-0x7E範囲外のUTF-8文字)のいずれでもない個別のUnicode文字(UTF-8エンコード)に変換します 入力 文字列または文字配列/リストとしての印刷可能なASCII文字の文字列 出力 各文字が個別の非印刷可能文字に置き換えられた入力文字列。指定された各文字には、他の文字の代替として使用されない、対応する印刷不可能な文字が必要です。 印刷できない文字を印刷できない場合は、代わりに文字値を出力できます。 例えば、あなたのコードは、すべて小文字で置き換えた場合a「でね0x01、あなたが使用することはできません0x01他の文字の代用として。 また、コードは確定的でなければなりません。文字列を指定した場合など、この手段Hello、すべて小文字lのがで置き換えられ0x03、また、すべて小文字を交換する必要があり、あなたのコードは、lとS '0x03指定した任意の他の文字列。 テストケース このチャレンジのテストケースを書くのは少し難しいので、出力を16進コードのリストとして表示します input -> output "Hello" -> [0x01, 0x02, 0x03, 0x03, 0x04] "Hi!" -> [0x01, 0x05, 0x06] "" -> [] " H " -> [0x07, 0x07, 0x07, 0x01, 0x07, 0x07, 0x07] "yo! " -> [0x08, 0x04, 0x06, 0x07]

30
Parrotプログラムを作成する
入力が与えられると、その入力の後に改行が際限なく続きます。 入力は、印刷可能なASCII文字(0x20-0x7E)と改行(0x0A)のみで構成される文字列になります。 入力の長さが0の場合、改行を無限に出力します。 これはコードゴルフなので、各言語で最も少ないバイトです勝ちます!
15 code-golf  string  sequence  combinatorics  fastest-code  number  code-challenge  restricted-source  rosetta-stone  code-golf  arithmetic  decision-problem  integer  factorial  code-golf  arithmetic  decision-problem  integer  bitwise  code-golf  kolmogorov-complexity  code-golf  tips  vim  code-golf  quine  code-generation  code-golf  string  restricted-source  code-golf  string  random  unicode  code-golf  audio  code-golf  ascii-art  code-golf  decision-problem  code-golf  puzzle-solver  code-golf  restricted-source  code-golf  kolmogorov-complexity  permutations  hexagonal-grid  code-golf  string  math  combinatorics  fastest-code  code-golf  restricted-source  code-golf  string  code-golf  arithmetic  code-golf  math  number  code-golf  string  decision-problem  balanced-string  code-golf  binary  code-golf  string  number  code-challenge  restricted-source  code-golf  ascii-art  printable-ascii  interactive  code-golf  string  ascii-art  code-challenge  restricted-source  source-layout  code-golf  arithmetic  tips  functional-programming  golfing-language  code-golf  binary  encryption 

10
CSVを表に変換
チャレンジ CSV入力が与えられたら、ボックス文字を使用して適切なUnicodeテーブルを出力します。 書式設定 テーブルは、次のルールを使用してフォーマットされます。 列幅はその列の最長値に等しくなります すべてのテーブルデータは左揃えになります 各テーブルでは、最初のcsv行がヘッダーであると想定されます テーブルでは、境界に次の文字が使用されます。 ┌ ┬ ┐ ├ ┼ ┤ └ ┴ ┘ ─ │ 例 Input: Name,Age,Gender Shaun,19,Male Debra,19,Female Alan,26,Male George,15,Male Output: ┌──────┬───┬──────┐ │Name │Age│Gender│ ├──────┼───┼──────┤ │Shaun │19 │Male │ │Debra │19 │Female│ │Alan │26 │Male │ │George│15 │Male │ └──────┴───┴──────┘ ルール 標準的な抜け穴が適用されます 完全なプログラム、関数、またはラムダを提出できます 入力は、ファイル、プログラム引数、または任意の受け入れ可能な代替からのものです。 …

3
スタックベースの言語をトークン化する
私は、に取り組んできた別のと呼ばれるスタックベースのゴルフの言語Stackgoat。この課題では、Stackgoat(または実際には一般的なスタックベースの言語)のTokenizerを作成します。 例 "PPCG"23+ ["PPCG", '23', '+'] 'a "bc" + ['"a"', '"bc"', '+'] 12 34+-"abc\"de'fg\\" ['12', '34', '+', '-', '"abc\"de'fg\\"'] "foo ['"foo"'] (empty input) [] ' "" ['" "', '""'] 仕様 処理する必要がある3つのタイプは次のとおりです。 ストリングス、何も内"" 数字、数字列 演算子、空白以外の任意の単一文字 空白は、文字列内にあるか、2つの数値を区切っていない限り、本質的に無視されます。 文字列/文字仕様: 文字列はで区切られ、が検出された"場合\、次の文字をエスケープする必要があります。 '文字はa で始まり、その後の'文字は文字列リテラルに変換されます。'a->"a" ' 常にその後に文字があります 終値を自動挿入する必要があります ルール: の形式evalは許可されません 入出力: 入力は、STDIN、関数パラメーター、または同等の言語を通じて取得できます。 出力は、配列または言語に最も近いものでなければなりません。
15 code-golf  parsing  code-golf  hexagonal-grid  code-golf  string  code-golf  string  code-golf  combinatorics  code-golf  ascii-art  code-golf  string  game  counting  code-golf  arithmetic  complex-numbers  code-golf  string  code-golf  decision-problem  hexagonal-grid  code-golf  string  sequence  code-golf  number  arithmetic  code-golf  ascii-art  code-golf  ascii-art  code-golf  string  arithmetic  code-golf  number  simulation  code-golf  number  arithmetic  code-golf  string  sequence  unicode  code-golf  string  ascii-art  balanced-string  code-golf  number  clock  code-golf  ascii-art  number  code-golf  math  number  sequence  code-golf  string  ascii-art  balanced-string  code-golf  math  string  popularity-contest  graphical-output  image-processing  code-golf  string  permutations  code-golf  string  code-golf  random  code-golf  string  cryptography  palindrome  code-golf  chess  code-golf  math  array-manipulation  topology  code-golf  math  sequence  code-golf  keyboard  classification  code-golf  string  sequence  code-golf  natural-language  code-golf  math  number  sequence  sorting  code-golf  sequence  combinatorics  grid  tic-tac-toe  code-golf  geometry  code-golf  number  restricted-source  new-years  expression-building 

15
論理ゲートを手動で
基本的な論理ゲートをシミュレートするプログラムを作成します。 入力:スペースなどで区切られた、2つの1桁の2進数が続く、すべて大文字の単語OR 1 0。門OR、AND、NOR、NAND、XOR、およびXNOR必要とされています。 出力:入力された論理ゲートの出力には、1または0の2つの数値が与えられます。 例: AND 1 0なります0 XOR 0 1なり1 OR 1 1ます1 NAND 1 1なります0 これはcodegolfなので、最短のコードが優先されます。
13 code-golf  logic-gates  hashing  code-golf  code-golf  number  array-manipulation  integer  code-golf  string  unicode  text-processing  cops-and-robbers  boggle  cops-and-robbers  boggle  code-golf  ascii-art  code-golf  word-puzzle  king-of-the-hill  python  code-golf  sequence  kolmogorov-complexity  code-golf  source-layout  code-golf  string  kolmogorov-complexity  math  number  code-golf  date  code-golf  combinatorics  recursion  game  king-of-the-hill  javascript  code-golf  array-manipulation  code-golf  radiation-hardening  self-referential  code-golf  integer  code-golf  number  code-golf  set-theory  code-golf  sequence  code-golf  string  sorting  natural-language  code-golf  decision-problem  number-theory  primes  code-golf  code-golf  ascii-art  code-challenge  array-manipulation  sorting  rubiks-cube  regular-expression  code-golf  counting  file-system  recursion  code-golf  string  kolmogorov-complexity  color  code-golf  game  code-challenge  permutations  encode  restricted-time  decode  code-golf  math  decision-problem  matrix  integer  palindrome  code-golf  matrix  statistics  king-of-the-hill  king-of-the-hill  python  card-games  code-golf  string  natural-language  code-golf  sequence  number-theory 

5
ユニコードは何時ですか?
次のいずれかの形式の文字列として入力時間を指定すると、課題は単純化されます。 hh、hh:mmまたはhh:mm:ssで0 ≤ hh ≤ 23、0 ≤ mm ≤ 59そして0 ≤ ss ≤ 59。 次の記号を使用して、現在の時刻を出力します。 AA LABEL FOR CHARACTER CODE POINT HEXADECIMAL == ==================== ========== =========== 🕐 Clock Face 01 Oclock 128336 0x1F550 🕑 Clock Face 02 Oclock 128337 0x1F551 🕒 Clock Face 03 Oclock 128338 0x1F552 🕓 Clock Face …

3
音素アブギダ
キャラクター これらのUnicode文字を英語のIPA子音と呼びましょう: bdfhjklmnprstvwzðŋɡʃʒθ そして、これらのUnicode文字を英語のIPA母音と呼びましょう : aeiouæɑɔəɛɜɪʊʌː (はい、ː単なる長母音マークですが、この課題のために母音として扱います。) 最後に、これらは一次および二次ストレスマークです: ˈˌ ことに留意されたいɡ(U + 0261)小文字gではなく、一次ストレスマーカーˈ(U + 02C8が)アポストロフィではなく、ː(U + 02D0)は、結腸ではありません。 あなたのタスク 単語が与えられたら、続く子音の上に母音を重ね、前に来る子音の下に強勢マーカーを置きます。(質問のタイトルが示唆するように、子音母音シーケンスがユニットとしてまとめられているような書記体系はabugidaと呼ばれます。)入力が与えられると、出力ˈbætəlʃɪpを生成します。 æə ɪ btlʃp ˈ 単語は上に定義した、子音、母音、およびストレスマークの文字列であることが保証されます。連続する強勢記号は決して存在せず、それらは常に単語の先頭および/または子音の前に置かれます。 テストケース 母音が連続している場合があります。例えば、kənˌɡrætjʊˈleɪʃənとなり ɪ ə æ ʊeə knɡrtjlʃn ˌ ˈ 単語が母音で始まる場合、子音と「ベースライン」に印刷:əˈpiːlとなり ː i əpl ˈ 初期の強調母音を含むテストケース:にˈælbəˌtrɔsなります ə ɔ ælbtrs ˈ ˌ 長い言葉:にˌsuːpərˌkaləˌfrædʒəˌlɪstɪˌkɛkspiːæləˈdoʊʃəsなる æ ː ː ʊ uə aə …

5
一般化されたGematria計算機
Unicode文字の任意のシーケンスをアルファベットとして、双方向Gematria計算機を作成します。 Gematri-What? Gematriaは、古代ギリシャ人によって開発され、古代ユダヤ人によって採用された、シンボルに数値を割り当てるシステムです。ASCIIやUnicodeのような方法で、単に非線形です...次の表をご覧ください(完全な表は上記のリンクから入手できます): Index Letter Letter name Value -------------------------- 0 א "Alef" 1 1 ב "Bet" 2 ... 8 ט "Tet" 9 9 י "Yud" 10 10 כ "Kaf" 20 ... 17 צ "Tsady" 90 18 ' "Kuf" 100 19 ר "Resh" 200 ... 文字の名前は重要ではなく、アルファベットの「配列」内のインデックスとそれぞれの数値のみが重要です。ヘブライ語のアルファベットの文字数は22文字(「最終」文字を除く)であるため、使用可能な最大値は400です。 このシステムを英語のアルファベット(AZ)に借用すると、A = 1、B = 2 …

3
Unicode長方形
与えられた aからの文字の行列u=" ╶╺╵└┕╹┖┗╴─╼┘┴┶┚┸┺╸╾━┙┵┷┛┹┻╷┌┍│├┝╿┞┡┐┬┮┤┼┾┦╀╄┑┭┯┥┽┿┩╃╇╻┎┏╽┟┢┃┠┣┒┰┲┧╁╆┨╂╊┓┱┳┪╅╈┫╉╋" 部分行列の座標x、y、w、h(左、上、幅> 1、高さ> 1) t1(のように┌)または2(のように┏)の厚さ 既存の線を考慮して、指定された太さで部分行列の内側の境界をレンダリングします。 x=4;y=1;w=2;h=3;t=2; a=[' ┌───┐', '┌┼┐ │', '│└┼──┘', '└─┘ '] // output r=[' ┌───┐', '┌┼┐ ┏┪', '│└┼─╂┨', '└─┘ ┗┛'] 線のフラグメントを上書きする場合、新しい太さは古い太さとのどちらか大きいほうになりtます。 これは、あなたが取ることができるので、入力の解析またはUnicodeのコルモゴロフ複雑性を見つけることに関するものではありませんa、u、x、y、w、h、t変数として使用可能です。また、と同じ型でrあれば、結果を返すか出力する代わりに変数に入れることもできます。ra 言語によってコードを関数(C、Java、Haskellなど)に配置する必要があり、ソリューションが単一の関数で構成される場合は、関数のヘッダーとフッターを省略できます。 より大きなテスト: x=4;y=1;w=24;h=4;t=1; a=['┏┱─────┐ ┌┐ ┎──┲━┓', '┠╂─────┘ ││ ┃ ┗━┛', '┃┃ ││ ┃ ', '┠╂──┲━━┓ ┏━━━━┓ ││ ┌╂┰┐ ', '┃┃ ┗━━┩ ┃ ┃ …

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