テキスト反転
「Hello, world!」は「!dlrow ,olleH」になります。最後の文字が先頭に来て、絵文字や国旗、アクセント付きの文字は文字化けせずにそのまま残ります。パズルや授業、手早い確認に便利です。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- テキスト
- Hello, world!
- 結果
- !dlrow ,olleH
- テキスト
- !dlrow ,olleH
- 元のテキスト
- Hello, world!
- 長さ
- 13
文字列の反転は簡単に見えますが、マルチバイトUnicodeでは素朴なUTF-16インデックスのループが絵文字・結合文字・サロゲートペアを分割し、見た目チェックや自動テストを壊す壊れた出力になります。
テキスト反転の意味とUnicode処理が重要な理由
テキスト反転とは、入力の最後の文字が出力の先頭になり、後ろから2番目が2番目になり、入力の先頭が結果の末尾に来ることを意味します。単純なASCIIの「Hello」なら「olleH」で、どの言語でも一致します。難しいのは現実のテキストです。
旗、ゼロ幅結合子でつながった家族絵文字、基底+結合記号のアクセント文字、基本多言語面外の記号です。JavaScript文字列をコードユニットで添え字付けしたり空文字で分割したりすると、1つの絵文字が孤立サロゲートに切れ、置換文字として表示されます。そこで本機能は先に分割し、セグメント列を反転してから結合します。
ランタイムが書記素粒度のIntl.Segmenterを提供するときは、ユーザー知覚の各文字が反転を通して一体のままです。SegmenterがないときはArray.fromがコードポイントを歩き、サロゲートペアも壊さず反転します。文字列の反転、文字順の反転、絵文字対応のオンラインテキスト反転が検索意図ならこの計算機を選んでください。
各語を左から右に読めるまま文の語順だけを反転したい場合は別製品です。
活用例
パズルと教育デモ
教師やゲーム作者がフレーズと絵文字セーフな文字列を反転し、授業パズル・CTFウォームアップ・対話デモでマルチバイト文字を壊しません。
よくある質問
このツールでテキストをどう反転しますか?
応答のresultが反転出力で、originalは比較用に入力を返します。
絵文字とUnicodeは正しく扱われますか?
はい。 Intl.Segmenterがあるときは書記素クラスタを分割し、ないときはArray.fromでコードポイントを使うため、マルチバイト絵文字は壊れたサロゲートに割れません。
語を反転しますか、文字を反転しますか?
語順だけではなく、文字ストリーム全体(書記素/コードポイント)を反転します。Hello worldはworld Helloではなくdlrow olleHになります。
逆さにしたテキストは何に使えますか?
主にパズルやゲーム、授業での実演、暗号解読の練習問題などに使われます。絵文字を含むテキストが処理を通っても壊れないかを手早く確かめる方法としても役立ちます。
スペースだけを入力するとどうなりますか?
空のテキストと同じく、案内を表示して受け付けません。フォームや自動処理が、意味のない空の結果をうっかり保存しないようにするためです。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/str/reverse \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello, world!"}'const res = await fetch("https://api.kit.forhosting.com/str/reverse", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello, world!"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/reverse",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello, world!"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/reverse", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello, world!"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello, world!"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/reverse", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "Hello, world!"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.reverse",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
このテキスト反転ツールは空でない入力を受け取り、Intl.Segmenterがあるときはユーザー知覚の文字に、ないときはUnicodeコードポイントに分割し、その列を反転して、反転結果・元のエコー・長さ・文字数・方式ラベルを含む安定したJSON契約を返します。空文字や空白のみはinvalid_inputで失敗し、パイプラインが誤って空結果を保存しないようにします。
テキスト反転の意味とUnicode処理が重要な理由
アルゴリズムは完全に決定的で、同一入力は常に同一JSONを返し、ネットワーク・乱数・壁時計は使いません。
入力契約、空の拒否、応答の読み方
原文は他のKIT parse項目と同じ保持規則です。Worker向けの通常のフレーズ・メッセージサイズに留め、数メガのダンプは避けてください。必須の文字列フィールドtextに反転したい空でないフレーズを入れたJSON本体を送ってください。input、value、s、contentという別名も受け付けます。text欠落、非文字列、空文字、空白のみは問題を示すinvalid_inputになり、プリペイドAPIでは課金されません。成功時は反転文字列のresult、resultと等しいtext、反転前の入力を返すoriginal、結果のUTF-16コードユニット長length、並べ替えた書記素またはcode_pointセグメント数のchar_count、常にunicode_reverseのmethod、実行経路に応じてgraphemeまたはcode_pointのmethod_detailが含まれます。反転文字列だけならresult、前後比較ならoriginalとresult、複数コードユニット記号が1単位と数えたかの確認ならchar_countを使います。
API利用、料金、ワークフロー、実用上の限界
パズル、授業デモ、コピー確認、絵文字セーフな素早い実験には無料のブラウザテキスト反転ツールを使い、デスクトップを入れたり各言語でワンライナーを書いたりしないでください。検証失敗は残高を消費しません。次がBase64や反転形のチェックサムならencodeやhashと組み合わせられますが、テキスト反転の検索意図を符号化と混ぜないよう専用ランディングを保ってください。自然言語表示用の語順反転、完全RTLレイアウトの双方向アルゴリズム並べ替え、ロケール照合は別問題です。ゲームバックエンド、コンテンツパイプライン、QA harness、モバイルクライアントが同じ変換を残高下で必要なら、成功1件$0.002のプリペイドKIT APIを使います。典型的な流れはスローガンやシード句をこのエンドポイントに通し、楽しめるUIや往復反転が元に戻る検証のため鏡像文字列を表示します。SDK作者は必須がtextだけであること、複数文字の成功例と空文字エラー例を示せます。
連携の活用例
QAとUnicode回帰fixtures
テストharnessが反転したgolden出力を固定し、サロゲートペアや結合文字を割るリファクタは継続的インテグレーションで即失敗します。
UI鏡像とコンテンツパイプライン
製品ツールがユーザー文から鏡像ラベルやシード変種を生成し、サーバーとSDK向けの安定したプリペイド契約で提供します。
技術的な質問
textが空だとどうなりますか?
空文字と空白のみの文字列はinvalid_inputで失敗し、課金されません。
テキスト反転ツールは無料ですか?
ブラウザツールは端末上で無料です。APIは成功1件$0.002のプリペイドKIT残高を使い、検証失敗は課金されません。