Ecoji絵文字エンコーダ
短いメッセージを、どのチャットでも崩れない絵文字に包めます。Hello, Ecoji!は13バイトで12個の絵文字になり、貼り戻せばアクセントも含めて元の文章どおりに戻ります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- テキスト
- Hello, Ecoji!
- 結果
- 🏯🔩🚗🌷🍸📖🐩🤜👺🕺🌆☕
- 計算モード
- Encode
- バージョン
- v2
- 絵文字の数
- 12
Ecojiは、バイナリデータを厳選したUnicode絵文字へ写すbase-1024転送符号化です。短いメッセージ、トークン、チェックサムを、生のBase64より貼り付けやすい文字を好むチャット、チケット、ステータスページへ運べます。各絵文字は10ビットを担うため、入力5バイトは4個の可視記号になります。本機能は平文UTF-8をEcoji(既定は埋め込みを削ったバージョン2)へ符号化し、Ecojiバージョン1または2をテキストへ戻します。ローカルのEcoji CLIを入れずに、短い文字列向けの目に見える安全な包みとしてご利用ください。
テキストをEcoji V2(またはV1)絵文字へ符号化
エンジンは文字列をUTF-8バイトへ直し、5バイトごとに40ビット語へまとめ、続く10ビットの序数4つを1024個のEcojiアルファベットへ写します。最終ブロックが5バイト未満のとき、復号側が正確な長さを復元できるよう埋め込み記号を入れます。バージョン2は1・2バイト末尾の冗長な埋め込みを削り、バージョン1は最終グループを常に4絵文字まで埋めます。
空文字列は有効で、0バイトの空結果へ符号化されます。多言語テキスト、句読点、元の通常の絵文字も、Latin-1の近道ではなく完全なUTF-8経路のため往復できます。同一入力は同一出力を生み、アルゴリズムはネットワーク・乱数・壁時計のない純算術です。
Ecoji絵文字の復号と不正入力の報告
modeをdecodeにし、textにEcoji絵文字列を入れてください。復号器はV1とV2の両方を受け付けます。一方の版だけに現れる記号がその後の期待版を決め、後から他方専用の記号が出ると版混在の破損として拒否します。
埋め込み(コーヒー絵文字)と最終バイト用の特殊埋め込みは短い末尾ブロックを復元し、残1〜4バイトを推測なしで復号します。空入力、先頭の埋め込み、V1規則での途中切れグループ、未知の絵文字はいずれも硬いエラーです。
日常での使い方と実用上の制限
授業デモ、サポート手順、一度限りの変換には、Go参照ツールや言語別パッケージを入れずにブラウザ内の無料Ecoji絵文字エンコーダをご利用ください。典型的な流れは、Base64の句読点を壊すチャット向けに設定片やチケットIDを符号化し、受信側でmode decodeによりbytesが元の長さと一致することを確認します。
別の流れでは、リリース前に文書サンプルが文書化された平文へまだ復号できるかを確かめ、符号化・復号のフィクスチャを固定してCIがアルファベットのずれを捉えます。検索意図が絵文字転送符号化やEcojiの符号化・復号そのものであるときはEcojiを、チャネルが純粋ASCIIで絵文字フォントが信頼できないときはBase64やBase58を選んでください。
元テキストは他のKIT parse項目と同じ保持規則に従い、結果は隔離環境間で完全に決定的なためCIフィクスチャに安全です。
よくある質問
テキストをEcoji絵文字へ符号化するには?
resultにEcoji絵文字列が入り、versionの既定はv2です。
Ecojiをテキストへ戻すには?
modeをdecodeにし、textにEcoji絵文字列を入れてください。
Ecoji V1とV2の違いは?
それぞれ1024個の異なる絵文字アルファベットを使い(共有記号は同じ序数)、V2は短い末尾の埋め込みを削り、V1は最終グループを常に4絵文字まで埋めます。復号は両方を受け付けます。
Ecojiの文字列がよくコーヒーの絵文字で終わるのはなぜですか?
コーヒーの絵文字は埋め草です。最後のブロックが5バイトに満たないとき、埋め草の記号が元の長さを正確に伝えるため、余分な文字も欠けた文字もなく復元できます。
EcojiはBase64より短くなりますか?
見える文字数では短くなります。絵文字1つが10ビットを運ぶので、5バイトが4つの記号になります。ただしバイト数では絵文字1つが数バイトを使うため、保存するときは大きくなります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/enc/ecoji \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello, Ecoji!"}'const res = await fetch("https://api.kit.forhosting.com/enc/ecoji", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello, Ecoji!"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/ecoji",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello, Ecoji!"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/ecoji", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello, Ecoji!"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello, Ecoji!"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/ecoji", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "Hello, Ecoji!"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.ecoji",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
同じペイロードでもBase64より文字数は少なく、内部では各グリフがマルチバイトです。未知の列や版混在は明確なinvalid_inputで拒否します。
テキストをEcoji V2(またはV1)絵文字へ符号化
必須の文字列フィールドtextに運びたい平文を入れたJSON本体を送り、modeは既定のencodeのままにするか、明示的にencodeを指定してください。貼り付け向けの現行ペイロードにはversionを2(既定)、古いV1専用ツールとの互換が必要なときはversionを1にしてください。textにはinput・value・s、modeにはdirection・op・actionの任意エイリアスを受け付け、古いフォーム名から生成したクライアントも動きます。応答には常にEcoji文字列のresult、encodeのmode、v1またはv2のversion、生成した絵文字コードポイント数のemoji_count、符号化前のUTF-8長のbytesが含まれ、テストでサイズを検証できます。
Ecoji絵文字の復号と不正入力の報告
改行と復帰は無視されるため複数行の貼り付けも動きますが、Ecojiデータアルファベットと埋め込み集合の外のコードポイントは、問題の文字を示すメッセージ付きで即時にinvalid_inputとなります。復元後のバイトは致命的なUTF-8復号器で解釈され、不正列は置換文字ではなくinvalid_inputを上げ、下流表示の破損を防ぎます。成功時はresultに復元文字列、modeにdecode、versionにv1またはv2、改行以外の記号数にemoji_count、復号UTF-8長にbytesを返します。検証失敗は前払いAPIで課金されないため、疑わしい貼り付けの確認は運用者に安く、明確な診断だけが必要な利用者にも安全です。
API利用、料金、ワークフロー、実務上の制限
バックエンド、サーバーレス関数、SDKが同じ符号化・復号を残高下で必要とする場合は、成功1件あたり$0.002の前払いKIT APIを使い、検証失敗はエンジン拒否後に残高を消費しません。SDK作者はresultをコピーボタンへ直接写せ、mode・version・emoji_countのラベルはbase-1024絵文字符号化に不慣れな読者向けに、画面とOpenAPI例を自己説明的にします。
連携の活用例
チャットに耐える短いトークン
Base64の句読点を壊すチャットやステータスページでも生きるよう、設定片とチケットIDをEcojiへ符号化し、受信サービスで同じmodeフィールドにより復号します。
文書とCIのゴールデン検査
Ecoji V1とV2の符号化・復号フィクスチャを固定し、アルファベットや埋め込み規則がずれたら文書サンプルとCIがすぐ失敗するようにします。
サポートと学習
担当者と学習者は無料ブラウザウィジェットでテキストとEcojiを往復し、未知または版混在の絵文字を貼ったときは明確なinvalid_inputを得ます。
技術的な質問
Ecoji絵文字エンコーダは無料ですか?
ブラウザツールは端末上で無料です。API呼び出しは成功1件あたり$0.002の前払いKIT残高を使い、検証失敗は課金されません。
絵文字列が不正な場合は?
文字がEcojiアルファベット外、埋め込みが不正、版が混在、ペイロードが空、復元バイトが有効なUTF-8でないときはinvalid_inputで失敗し、課金されません。