- 技術 💻
全角⇔半角変換の早見表|Java・JS・Python・Excel・SQL
全角英数字を半角にするだけなら、文字コードを 0xFEE0 ずらす1行で足ります。半角カナを全角にするなら、Unicode の正規化(NFKC)を使うと濁点つきの「ガ」も「ガ」1文字にまとまります。 ただし NFKC を文字列全体にかけると、「①」が「1」、「㈱」が「(株)」に変わるなど、意図しない文字まで変わります。
この記事では、変換の種類(英数字・記号・スペース・カタカナ)×方向(全角→半角、半角→全角)ごとに、Java・JavaScript・Python・Excel・SQL のコードを載せ、どの文字が変わり、どの文字が変わらないかを実行結果で示します。
確認環境:OpenJDK 21.0.10、Node.js 22.22.2、Python 3.11.15(jaconv 0.5.0)、LibreOffice Calc 24.2(Excel と同名の ASC・JIS 関数)、PostgreSQL 16.15、MySQL 8.0.46(確認日 2026年10月10日)。
早見表:やりたいこと別の書き方
| やりたいこと | Java | JavaScript | Python | Excel |
|---|---|---|---|---|
| 全角英数字・記号→半角 | c - 0xFEE0(下の toHalfAscii) |
replace(/[!-~]/g, …) |
str.translate(下の表) |
=ASC(A2) |
| 半角英数字・記号→全角 | c + 0xFEE0 |
replace(/[!-~]/g, …) |
str.translate |
=JIS(A2) |
| 半角カナ→全角カナ | Normalizer(NFKC)を半角カナ部分だけに |
normalize('NFKC') を半角カナ部分だけに |
unicodedata.normalize を部分だけに |
=JIS(A2) |
| 全角カナ→半角カナ | 対応表(下の toHalfKana) |
対応表 | 対応表、または jaconv | =ASC(A2) |
| 表記ゆれをまとめて正規化(検索・重複チェック用) | Normalizer.normalize(s, NFKC) |
s.normalize('NFKC') |
unicodedata.normalize('NFKC', s) |
なし |
SQL:PostgreSQL は normalize(列, NFKC)(13以降・UTF8 のデータベース)、Oracle は TO_SINGLE_BYTE/TO_MULTI_BYTE。MySQL と SQL Server には変換関数が無いので、アプリ側で変換するか、全角と半角を同じ扱いにする照合順序で比べます。
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「全角⇔半角変換の早見表|Java・JS・Python・Excel・SQL」
まず知っておく:全角英数字は「0xFEE0 ずれ」で並んでいる
Unicode では、半角の !(U+0021)〜~(U+007E)の94文字と、全角の !(U+FF01)〜~(U+FF5E)が同じ順番で並んでいます。差はちょうど 0xFEE0 です。
| 半角 | コード | 全角 | コード | 差 |
|---|---|---|---|---|
A |
U+0041 | A |
U+FF21 | 0xFEE0 |
1 |
U+0031 | 1 |
U+FF11 | 0xFEE0 |
- |
U+002D | - |
U+FF0D | 0xFEE0 |
~ |
U+007E | ~ |
U+FF5E | 0xFEE0 |
(スペース) |
U+0020 | (全角スペース) |
U+3000 | 別に扱う |
スペースだけは並びの外にあるので、どの言語でも1行足して変換します。カタカナはこの規則に乗らないため、別の方法を使います。
NFKC で何が変わるか(変わらない文字に注意)
NFKC(互換分解のあと合成)は、「見た目が違うだけで同じ意味の文字」を1つにそろえる Unicode の正規化です。全角英数字を半角に、半角カナを全角にする動きが一度にできるので、検索や重複チェックの前処理に向きます。Python・Java・JavaScript で結果は同じでした。
ABC123abc → ABC123abc
!#$%&()=@ → !#$%&()=@
全角 スペース → 全角 スペース
アイウエオ ガギ パピ ヴ → アイウエオ ガギ パピ ヴ
アイウエオ ガギ パピ ヴ → アイウエオ ガギ パピ ヴ
- ー ‐ ― 〜 ~ → - ー ‐ ― 〜 ~
¥ \ ” ’ 「」 「」 、。、。 → ¥ \ ” ’ 「」 「」 、。、。
① ㈱ ㌔ ページ Ⅲ カ゛ → 1 (株) キロ ページ III カ ゙
紛らわしい文字の NFKC 変換表
| 文字 | コード | NFKC 後 | メモ |
|---|---|---|---|
- 全角ハイフンマイナス |
U+FF0D | - U+002D |
変わる |
− マイナス記号 |
U+2212 | − のまま |
変わらない。Excel や Word からの貼り付けで混ざる |
‐ ハイフン |
U+2010 | ‐ のまま |
変わらない |
― 水平線 |
U+2015 | ― のまま |
変わらない |
ー 長音記号 |
U+30FC | ー のまま |
変わらない |
ー 半角長音記号 |
U+FF70 | ー U+30FC |
変わる |
~ 全角チルダ |
U+FF5E | ~ U+007E |
変わる |
〜 波ダッシュ |
U+301C | 〜 のまま |
変わらない(見た目は ~ とほぼ同じ) |
¥ 全角円記号 |
U+FFE5 | ¥ U+00A5 |
バックスラッシュ(U+005C)にはならない |
" ' 全角の引用符 |
U+FF02, U+FF07 | " ' |
変わる |
“ ” ‘ ’ 曲がった引用符 |
U+201C など | そのまま | 変わらない |
・ 半角中黒 |
U+FF65 | ・ U+30FB |
変わる |
ガ(半角カ+半角濁点) |
U+FF76 U+FF9E | ガ U+30AC |
1文字にまとまる |
カ゛(半角カ+全角濁点) |
U+FF76 U+309B | カ ゙ |
スペースが入って2文字に分かれる |
① Ⅲ |
U+2460, U+2162 | 1 III |
意味が変わる |
㈱ ㌔ |
U+3231, U+3314 | (株) キロ |
文字数が変わる |
住所や氏名をそのまま保存し直す用途で、文字列全体に NFKC をかけるのは避けます。 「①」が「1」、「㈱」が「(株)」に変わり、元に戻せません。保存用の変換は種類を限った関数(次の章)で行い、NFKC は検索キーや重複チェック用の別の列を作るときに使うのが安全です。
Java:コピペで使える変換クラス
英数字・記号・スペースは 0xFEE0 ずらし、半角カナ→全角は半角カナの部分だけ Normalizer(NFKC)、全角カナ→半角は対応表で変換します。
import java.text.Normalizer;
import java.util.HashMap;
import java.util.Map;
/** 全角⇔半角の変換(英数字・記号・スペース・カタカナ) */
public final class ZenHan {
private ZenHan() {}
/** 全角英数字・記号・全角スペースを半角に(カナはそのまま) */
public static String toHalfAscii(String s) {
StringBuilder sb = new StringBuilder(s.length());
for (char c : s.toCharArray()) {
if (c >= '!' && c <= '~') sb.append((char) (c - 0xFEE0)); // U+FF01〜U+FF5E
else if (c == ' ') sb.append(' '); // 全角スペース
else sb.append(c);
}
return sb.toString();
}
/** 半角英数字・記号・半角スペースを全角に(カナはそのまま) */
public static String toFullAscii(String s) {
StringBuilder sb = new StringBuilder(s.length());
for (char c : s.toCharArray()) {
if (c >= '!' && c <= '~') sb.append((char) (c + 0xFEE0));
else if (c == ' ') sb.append(' ');
else sb.append(c);
}
return sb.toString();
}
private static final String FULL =
"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォッャュョー。「」、・゛゜";
private static final String HALF =
"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォッャュョー。「」、・゙゚";
private static final Map<Character, String> FULL_TO_HALF = new HashMap<>();
static {
for (int i = 0; i < FULL.length(); i++) FULL_TO_HALF.put(FULL.charAt(i), String.valueOf(HALF.charAt(i)));
String voiced = "ガギグゲゴザジズゼゾダヂヅデドバビブベボ";
String base = "カキクケコサシスセソタチツテトハヒフヘホ";
for (int i = 0; i < voiced.length(); i++) FULL_TO_HALF.put(voiced.charAt(i), base.charAt(i) + "゙");
String semi = "パピプペポ";
for (int i = 0; i < semi.length(); i++) FULL_TO_HALF.put(semi.charAt(i), "ハヒフヘホ".charAt(i) + "゚");
FULL_TO_HALF.put('ヴ', "ヴ");
}
/** 全角カタカナを半角カタカナに(濁点・半濁点は2文字に分かれる) */
public static String toHalfKana(String s) {
StringBuilder sb = new StringBuilder(s.length());
for (char c : s.toCharArray()) sb.append(FULL_TO_HALF.getOrDefault(c, String.valueOf(c)));
return sb.toString();
}
/** 半角カタカナを全角カタカナに(ガ→ガのように濁点も1文字にまとめる) */
public static String toFullKana(String s) {
StringBuilder sb = new StringBuilder(s.length());
int start = -1;
for (int i = 0; i <= s.length(); i++) {
boolean half = i < s.length() && s.charAt(i) >= '。' && s.charAt(i) <= '゚';
if (half && start < 0) start = i;
if (!half && start >= 0) { // 半角カナの区間だけ NFKC で全角にする
sb.append(Normalizer.normalize(s.substring(start, i), Normalizer.Form.NFKC));
start = -1;
}
if (!half && i < s.length()) sb.append(s.charAt(i));
}
return sb.toString();
}
public static void main(String[] args) {
String a = "ABC-123 @example";
String k = "ガギ パピ ヴァイオリン ー ①";
System.out.println("toHalfAscii : " + a + " → " + toHalfAscii(a));
System.out.println("toFullAscii : " + "ABC-123 @example" + " → " + toFullAscii("ABC-123 @example"));
System.out.println("toFullKana : " + k + " → " + toFullKana(k));
System.out.println("toHalfKana : " + "ガギ パピ ヴァイオリン ー" + " → " + toHalfKana("ガギ パピ ヴァイオリン ー"));
System.out.println("NFKC全体 : " + k + " → " + Normalizer.normalize(k, Normalizer.Form.NFKC));
}
}
$ java -Dstdout.encoding=UTF-8 ZenHan.java
toHalfAscii : ABC-123 @example → ABC-123 @example
toFullAscii : ABC-123 @example → ABC-123 @example
toFullKana : ガギ パピ ヴァイオリン ー ① → ガギ パピ ヴァイオリン ー ①
toHalfKana : ガギ パピ ヴァイオリン ー → ガギ パピ ヴァイオリン ー
NFKC全体 : ガギ パピ ヴァイオリン ー ① → ガギ パピ ヴァイオリン ー 1
toFullKana は半角カナの区間だけを NFKC にかけるので、最後の「①」はそのまま残ります。文字列全体に NFKC をかけた最終行では「1」に変わっています。
出力が「???」になるとき
同じプログラムを -Dstdout.encoding=UTF-8 なしで動かすと、環境によっては日本語が全部 ? になります。
$ java ZenHan.java
????????? ? ABC123abc
これは変換の誤りではなく、標準出力の文字コードが ASCII のままになっているためです。Java 18 以降はファイルの読み書きが既定で UTF-8 になりましたが、標準出力は OS の設定(stdout.encoding)に従います。java -XshowSettings:properties -version で stdout.encoding を確認し、-Dstdout.encoding=UTF-8 を付けるか、端末のロケールを UTF-8 にします。
JavaScript:コピペで使える関数
// 全角⇔半角の変換(英数字・記号・スペース・カタカナ)
const toHalfAscii = (s) =>
s.replace(/[!-~]/g, (c) => String.fromCharCode(c.charCodeAt(0) - 0xfee0)).replace(/ /g, ' ');
const toFullAscii = (s) =>
s.replace(/[!-~]/g, (c) => String.fromCharCode(c.charCodeAt(0) + 0xfee0)).replace(/ /g, ' ');
// 半角カナ(濁点つきを含む)を全角に:半角カナの部分だけ NFKC をかける
const toFullKana = (s) => s.replace(/[。-゚]+/g, (m) => m.normalize('NFKC'));
const FULL = 'アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォッャュョー。「」、・゛゜';
const HALF = 'アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォッャュョー。「」、・゙゚';
const KANA = new Map([...FULL].map((c, i) => [c, HALF[i]]));
// 濁点・半濁点つき(ガ・パ・ヴ)は、NFD で「清音+濁点」に分けてから置き換える
const toHalfKana = (s) =>
s.replace(/[ァ-ヴー。「」、・゛゜]/g, (c) => {
if (KANA.has(c)) return KANA.get(c);
const [base, mark] = c.normalize('NFD');
return (KANA.get(base) ?? base) + (mark === '\u3099' ? '゙' : mark === '\u309A' ? '゚' : '');
});
module.exports = { toHalfAscii, toFullAscii, toFullKana, toHalfKana };
if (require.main === module) {
console.log('toHalfAscii :', toHalfAscii('ABC-123 @example'));
console.log('toFullAscii :', toFullAscii('ABC-123 @example'));
console.log('toFullKana :', toFullKana('ガギ パピ ヴァイオリン ー ①'));
console.log('toHalfKana :', toHalfKana('ガギ パピ ヴァイオリン ー がぎ'));
}
$ node zenhan.js
toHalfAscii : ABC-123 @example
toFullAscii : ABC-123 @example
toFullKana : ガギ パピ ヴァイオリン ー ①
toHalfKana : ガギ パピ ヴァイオリン ー がぎ
toHalfKana はカタカナだけを変換し、ひらがなの「がぎ」はそのまま残します。半角カナにはひらがなが無いため、ひらがなも半角にしたい場合は先にカタカナへ変換します(String.fromCharCode(c.charCodeAt(0) + 0x60) で ぁ〜ゖ をァ〜ヶへずらせます)。
フォームの入力をその場で半角にする
const input = document.querySelector('#tel');
input.addEventListener('blur', () => {
input.value = toHalfAscii(input.value).replace(/[‐−―ー]/g, '-');
});
input イベントで変換すると、日本語入力の変換中(確定前)の文字まで書き換えてしまいます。入力欄から離れたとき(blur)か、compositionend のあとに変換するのが扱いやすい形です。
Python:標準ライブラリだけで書く
"""全角⇔半角の変換(英数字・記号・スペース・カタカナ)。標準ライブラリだけで動く"""
import unicodedata, re
_HALF_ASCII = {i: i - 0xFEE0 for i in range(0xFF01, 0xFF5F)} | {0x3000: 0x20}
_FULL_ASCII = {v: k for k, v in _HALF_ASCII.items()}
def to_half_ascii(s: str) -> str:
return s.translate(_HALF_ASCII)
def to_full_ascii(s: str) -> str:
return s.translate(_FULL_ASCII)
def to_full_kana(s: str) -> str:
# 半角カナの部分だけ NFKC をかける(①や㈱は変えない)
return re.sub(r'[。-゚]+', lambda m: unicodedata.normalize('NFKC', m.group()), s)
_FULL = 'アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォッャュョー。「」、・゛゜'
_HALF = 'アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォッャュョー。「」、・゙゚'
_KANA = dict(zip(_FULL, _HALF))
_MARK = {'\u3099': '゙', '\u309A': '゚'}
def _half(c: str) -> str:
if c in _KANA:
return _KANA[c]
base, *mark = unicodedata.normalize('NFD', c) # ガ → カ + 濁点
return _KANA.get(base, base) + ''.join(_MARK.get(m, '') for m in mark)
def to_half_kana(s: str) -> str:
# 全角カタカナだけを変える(ひらがなは半角にできないのでそのまま)
return re.sub(r'[ァ-ヴー。「」、・゛゜]', lambda m: _half(m.group()), s)
if __name__ == '__main__':
print('to_half_ascii:', to_half_ascii('ABC-123 @example'))
print('to_full_ascii:', to_full_ascii('ABC-123 @example'))
print('to_full_kana :', to_full_kana('ガギ パピ ヴァイオリン ー ①'))
print('to_half_kana :', to_half_kana('ガギ パピ ヴァイオリン ー がぎ'))
$ python3 zenhan.py
to_half_ascii: ABC-123 @example
to_full_ascii: ABC-123 @example
to_full_kana : ガギ パピ ヴァイオリン ー ①
to_half_kana : ガギ パピ ヴァイオリン ー がぎ
jaconv を使う場合
外部ライブラリを入れてよいなら、jaconv(pip install jaconv)で種類を指定して変換できます。
import jaconv
jaconv.z2h('ABC123ガギ ヴ', kana=True, ascii=True, digit=True) # 'ABC123ガギ ヴ'
jaconv.z2h('ABC123ガギ', kana=False, ascii=True, digit=True) # 'ABC123ガギ'(カナは残す)
jaconv.h2z('ABC123ガギ', kana=True, ascii=False, digit=False) # 'ABC123ガギ'(英数字は残す)
jaconv.hira2kata('がぎ ぱぴ') # 'ガギ パピ'
jaconv.kata2hira('ガギ パピ') # 'がぎ ぱぴ'
| 引数 | 意味 |
|---|---|
kana |
カタカナを変換するか |
ascii |
英字・記号を変換するか |
digit |
数字を変換するか |
ignore |
変換しない文字を文字列で指定 |
Excel:ASC 関数と JIS 関数
| 関数 | 動き |
|---|---|
=ASC(A2) |
全角(2バイト)の英数字・カタカナを半角(1バイト)にする |
=JIS(A2) |
半角の英数字・カタカナを全角にする |
LibreOffice Calc 24.2(Excel と同じ名前・同じ意味の関数を持つ表計算ソフト)で計算した結果です。
| 元の文字 | =ASC(A2) |
=JIS(A2) |
|---|---|---|
| ABC-123 @ex | ABC-123 @ex | ABC-123 @ex |
| ABC-123 @ex | ABC-123 @ex | ABC-123 @ex |
| ガギ パピ ヴ | ガギ パピ ヴ | ガギ パピ ウ゛ |
| ガギ パピ ヴ | ガギ パピ ヴ | ガギ パピ ヴ |
| がぎ ① | がぎ ① | がぎ ① |
この環境では、ASC は全角スペースを、JIS は半角スペースを変換しませんでした。また JIS("ヴ") は「ヴ」ではなく「ウ゛」の2文字になりました。スペースまでそろえたいときは SUBSTITUTE を重ねます。
=SUBSTITUTE(ASC(A2)," "," ") 全角スペースも半角に
=SUBSTITUTE(JIS(A2)," "," ") 半角スペースも全角に
Excel 本体でもスペースや「ヴ」の結果が同じかは、上の表の5行を入力して一度確かめておくと安心です。
SQL:DB ごとの書き方
PostgreSQL:normalize 関数(13以降)
SELECT normalize('ABC-123 ガギ①', NFKC) AS nfkc,
translate('ABC123', 'ABC123', 'ABC123') AS tr;
nfkc | tr
---------------+--------
ABC-123 ガギ1 | ABC123
normalize() はデータベースの文字コードが UTF8 のときに使えます。「①」まで変わってほしくない場合は、translate() で変換する文字を列挙するか、アプリ側で変換します。
MySQL:変換関数は無いので、照合順序で「同じ」とみなす
MySQL には全角⇔半角の変換関数がありません。比較だけなら、全角と半角を区別しない照合順序が使えます。
SELECT 'A'='A' COLLATE utf8mb4_unicode_ci AS unicode_ci_alnum,
'ア'='ア' COLLATE utf8mb4_unicode_ci AS unicode_ci_kana,
'A'='A' COLLATE utf8mb4_0900_ai_ci AS ai_0900_alnum,
'ア'='ア' COLLATE utf8mb4_0900_ai_ci AS ai_0900_kana,
'A'='A' COLLATE utf8mb4_bin AS bin_alnum;
+------------------+-----------------+---------------+--------------+-----------+
| unicode_ci_alnum | unicode_ci_kana | ai_0900_alnum | ai_0900_kana | bin_alnum |
+------------------+-----------------+---------------+--------------+-----------+
| 1 | 1 | 1 | 1 | 0 |
+------------------+-----------------+---------------+--------------+-----------+
_ci(大文字小文字を区別しない)系の照合順序では全角と半角が同じとみなされ、utf8mb4_bin では区別されます。保存する値自体をそろえたいときは、アプリ側で変換してから INSERT します。
Oracle・SQL Server
| DB | 全角→半角 | 半角→全角 | 比較だけなら |
|---|---|---|---|
| Oracle | TO_SINGLE_BYTE(列) |
TO_MULTI_BYTE(列) |
― |
| SQL Server | 関数なし(アプリ側で変換) | 関数なし | 照合順序の _WS(幅を区別)を付けない照合順序で比較 |
用途別:どこで変換するか
| 用途 | おすすめ | 理由 |
|---|---|---|
| 電話番号・郵便番号・カード番号などの入力 | 保存前に toHalfAscii、ハイフン類(‐−―ー-)も - にそろえる |
数字の桁チェックや検索を単純にできる |
| 氏名のフリガナ | 保存前に半角カナ→全角カナ(toFullKana) |
半角カナの濁点が2文字に分かれ、文字数チェックがずれる |
| 検索・重複チェック | 元の値とは別に NFKC をかけた列を作る | 元の表記を残しつつ、表記ゆれをまとめて照合できる |
| 銀行振込などの固定長データ | 全角カナ→半角カナ(toHalfKana)、英字は大文字に |
半角カナ・英大文字で作る決まりの形式が多い |
| CSV を Excel で受け渡す | 変換はアプリ側で行い、文字コードの取り決めも合わせる | Shift_JIS では半角カナは1バイト、全角は2バイトで、桁数が変わる |
よくある質問
Q. 「-」と「ー」と「−」はどう見分けますか。
A. コードで確かめます。JavaScript なら [...s].map(c => c.codePointAt(0).toString(16))、Python なら [hex(ord(c)) for c in s] で、U+FF0D(全角ハイフンマイナス)、U+30FC(長音記号)、U+2212(マイナス記号)のどれかが分かります。NFKC で半角の - になるのは U+FF0D だけです。
Q. 半角カナの「ガ」が2文字として数えられます。
A. 半角カナの濁点は独立した文字(U+FF9E)なので、「ガ」は2文字です。全角の「ガ」1文字に変えるには、toFullKana か NFKC を使います。
Q. 全角の「~」を半角にしたら「~」になりました。 A. 全角チルダ(U+FF5E)は半角チルダ(U+007E)と対応しているためです。日本語の文中の「〜」(波ダッシュ U+301C)は変換の対象外で、そのまま残ります。
Q. ひらがなを半角にできますか。 A. 半角にひらがなはありません。半角カナにしたい場合は、先にカタカナへ変換してから半角にします。
Q. 変換した結果を元に戻せますか。 A. 英数字の 0xFEE0 ずらしは往復できますが、NFKC は戻せません(「①」→「1」→「1」)。元の値が必要なら、変換前の値を別に残します。
まとめ
- 全角英数字・記号は 0xFEE0 ずらすだけ(U+FF01〜U+FF5E ⇔ U+0021〜U+007E)。スペースは U+3000 ⇔ U+0020 を別に足す
- 半角カナ→全角は NFKC を半角カナの部分だけにかけると、「ガ」も「ガ」1文字になる
- 全角カナ→半角は対応表で変換し、濁点・半濁点は「ガ」の2文字に分ける
- NFKC を全体にかけると「①」「㈱」「Ⅲ」まで変わる。保存用ではなく、検索・重複チェック用の列に使う
- 「−」「‐」「―」「〜」は NFKC でも変わらない。ハイフン類は別に置き換える
- Excel は
ASC/JIS、PostgreSQL はnormalize、Oracle はTO_SINGLE_BYTE/TO_MULTI_BYTE、MySQL と SQL Server はアプリ側で変換する
参考・出典
確認日はいずれも 2026年10月10日です。
- Unicode Standard Annex #15「Unicode Normalization Forms」:https://unicode.org/reports/tr15/
- Unicode「Halfwidth and Fullwidth Forms(U+FF00–U+FFEF)」:https://www.unicode.org/charts/PDF/UFF00.pdf
- Java SE 21 API「java.text.Normalizer」:https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/text/Normalizer.html
- JEP 400「UTF-8 by Default」:https://openjdk.org/jeps/400
- MDN「String.prototype.normalize()」:https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/normalize
- Python ドキュメント「unicodedata.normalize」:https://docs.python.org/ja/3/library/unicodedata.html
- jaconv(PyPI):https://pypi.org/project/jaconv/
- Microsoft サポート「ASC 関数」「JIS 関数」:https://support.microsoft.com/ja-jp/excel/functions/asc-function 、https://support.microsoft.com/ja-jp/excel/functions/jis-function
- PostgreSQL 16 文書「文字列関数と演算子(normalize)」:https://www.postgresql.org/docs/16/functions-string.html
- MySQL 8.0 Reference Manual「Unicode Character Sets」:https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-sets.html
- Oracle Database SQL Language Reference「TO_SINGLE_BYTE」「TO_MULTI_BYTE」:https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/TO_SINGLE_BYTE.html 、https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/TO_MULTI_BYTE.html
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「全角⇔半角変換の早見表|Java・JS・Python・Excel・SQL」
株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。
WE ARE HIRING
RJCで一緒に開発しながら、
成長を楽しみませんか?
RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!
- 127日年間休日
- 12時間平均残業時間
- 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!
ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。