package com.pandoli365.bibimbap.util;

public final class TextNormalizer {

    private TextNormalizer() {
    }

    // 저장 위생: \t/\n/\r 외의 C0/C1 제어문자 제거 + 외곽 strip. 내부 공백/줄바꿈 보존. null→null.
    public static String normalize(String raw) {
        if (raw == null) {
            return null;
        }
        StringBuilder sb = new StringBuilder(raw.length());
        for (int i = 0; i < raw.length(); i++) {
            char c = raw.charAt(i);
            if (c == '\t' || c == '\n' || c == '\r') {
                sb.append(c);
                continue;
            }
            if (c <= 0x1F || (c >= 0x7F && c <= 0x9F)) {
                continue;
            }
            sb.append(c);
        }
        return sb.toString().strip();
    }
}
