Skip to content

Instantly share code, notes, and snippets.

@TakashiSasaki
Last active October 29, 2024 02:38
Show Gist options
  • Save TakashiSasaki/910ae312c0d08e94420181742d6a068f to your computer and use it in GitHub Desktop.
Save TakashiSasaki/910ae312c0d08e94420181742d6a068f to your computer and use it in GitHub Desktop.
ASCII Printable Symbol Characters Table

ASCII Printable Symbol Characters Table

This table provides a comprehensive representation of the printable ASCII symbol characters, including their decimal and hexadecimal representations. These characters are essential for structuring and formatting text in computing systems.

Character Decimal Hexadecimal
SPACE 32 0x20
! 33 0x21
" 34 0x22
# 35 0x23
$ 36 0x24
% 37 0x25
& 38 0x26
' 39 0x27
( 40 0x28
) 41 0x29
* 42 0x2A
+ 43 0x2B
, 44 0x2C
- 45 0x2D
. 46 0x2E
/ 47 0x2F
: 58 0x3A
; 59 0x3B
< 60 0x3C
= 61 0x3D
> 62 0x3E
? 63 0x3F
@ 64 0x40
[ 91 0x5B
\ 92 0x5C
] 93 0x5D
^ 94 0x5E
_ 95 0x5F
` 96 0x60
{ 123 0x7B
| 124 0x7C
} 125 0x7D
~ 126 0x7E

サーバ・クライアント型システムのメッセージフォーマット設計ガイドライン

はじめに

本ガイドラインは、サーバ・クライアント型システムにおけるメッセージフォーマットの標準化を目的としています。メッセージの先頭に特定の記号を使用することで、メッセージの種類や用途を直感的に識別しやすくし、システム全体の通信効率と一貫性を向上させます。

メッセージ先頭文字の特殊記号

サーバ・クライアント間の通信では、メッセージの先頭に特定の記号を付与することで、メッセージの性質を示します。このセクションでは、現在利用されている特殊記号とその意味について説明します。

定義済みの特殊記号

  • { : JSONオブジェクト形式のメッセージを示します。
  • [ : JSON配列形式のメッセージを示します。
  • " : JSON文字列が一行で表現されているメッセージを示します。
  • / : リソースまたはディレクトリパスを示します。
  • ? : クエリ文字列の開始を示します。
  • & : クエリ文字列の一部であることを示します。
  • # : URI内の特定部分(フラグメント)を指し示すために使用されます。

予約された特殊記号

以下の記号は、将来的な拡張や特定の用途のために予約されています。これにより、システム設計の柔軟性と拡張性を確保します。

  • ' : 将来の利用のために予約されています。
  • ( : 将来の利用のために予約されています。
  • ) : 将来の利用のために予約されています。
  • * : 将来の利用のために予約されています。
  • : : 将来の利用のために予約されています。
  • ; : 将来の利用のために予約されています。
  • ! : 将来の利用のために予約されています。
  • $ : 将来の利用のために予約されています。
  • @ : 将来の利用のために予約されています。
  • > : 将来の利用のために予約されています。
  • < : 将来の利用のために予約されています。
  • = : 将来の利用のために予約されています。
  • + : 将来の利用のために予約されています。
  • - : 将来の利用のために予約されています。
  • | : 将来の利用のために予約されています。

特殊記号の使用例

以下に、特殊記号を用いた具体的なメッセージ例を示します。

  • !shutdown : サーバに即時シャットダウンを要求する緊急コマンド。
  • #status_check : サーバやクライアントの状態を確認するためのデバッグメッセージ。
  • $token_exchange : 認証トークンの交換を示すセキュリティ関連メッセージ。
  • { "key": "value" } : JSONオブジェクト形式のデータメッセージ。
  • /api/v1/resource : リソースのパスを示すメッセージ。
  • ?query=example : クエリ文字列の開始を示すメッセージ。
  • &param=value : クエリ文字列の一部を示すメッセージ。
  • #section : URI内の特定部分(フラグメント)を示すメッセージ。
  • @user_id=12345 : 特定ユーザーに関連する情報を示すメッセージ。
  • |continuation of the previous line : 前の行から継続するメッセージ部分。

特殊記号がない場合の処理

メッセージの先頭に特殊記号がない場合、そのメッセージには特定の意味が付与されず、前の行に継続しているものとみなされます。この場合、前の行の改行コードは無視され、内容が結合されて解釈されます。

特別な意味を持たない記号

次の記号は、メッセージの先頭に置かれても特別な意味を持たないように設計されています:

  • % : URLエンコーディングなどで使用されるため、特別な意味は持ちません。
  • \(バックスラッシュ): エスケープシーケンスとして使用されることを想定しており、特別な意味は持ちません。
  • _ : 特殊用途には使用しないこととしています。

結論

本ガイドラインは、サーバ・クライアント型システムにおけるメッセージフォーマットの標準化を通じて、通信の効率性と一貫性を確保することを目指しています。特殊記号を使用することで、メッセージの内容や意図を迅速に識別でき、通信の信頼性とセキュリティが向上します。また、将来的なシステムの拡張に対応するため、いくつかの記号を予約し、柔軟な設計を可能にしています。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment