diff --git a/numba/cpython/unicode.py b/numba/cpython/unicode.py
index 5ef88103c..1978e603a 100644
--- a/numba/cpython/unicode.py
+++ b/numba/cpython/unicode.py
@@ -1388,24 +1388,35 @@ def unicode_zfill(string, width):
 # ------------------------------------------------------------------------------
 @register_jitable
 def unicode_strip_left_bound(string, chars):
-    chars = ' ' if chars is None else chars
     str_len = len(string)
 
-    for i in range(str_len):
-        if string[i] not in chars:
-            return i
+    if chars is not None:
+        for i in range(str_len):
+            if string[i] not in chars:
+                return i
+    else:
+        for i in range(str_len):
+            if not _PyUnicode_IsSpace(string[i]):
+                return i
+
     return str_len
 
 
 @register_jitable
 def unicode_strip_right_bound(string, chars):
-    chars = ' ' if chars is None else chars
     str_len = len(string)
 
-    for i in range(str_len - 1, -1, -1):
-        if string[i] not in chars:
-            i += 1
-            break
+    if chars is not None:
+        for i in range(str_len - 1, -1, -1):
+            if string[i] not in chars:
+                i += 1
+                break
+    else:
+        for i in range(str_len - 1, -1, -1):
+            if not _PyUnicode_IsSpace(string[i]):
+                i += 1
+                break
+
     return i
 
 

Unicode lstrip/rstrip/strip do not handle all whitespace characters
<!--

Thanks for opening an issue! To help the Numba team handle your information
efficiently, please first ensure that there is no other issue present that
already describes the issue you have
(search at https://github.com/numba/numba/issues?&q=is%3Aissue).

For more general "how do I do X?" type questions, please speak to us in real
time on https://gitter.im/numba/numba or post to the Numba mailing list
https://groups.google.com/a/continuum.io/forum/#!forum/numba-users.

-->

## Reporting a bug

<!--

Before submitting a bug report please ensure that you can check off these boxes:

-->

- [x] I am using the latest ~released~ master version of Numba (most recent is visible in
 the change log (https://github.com/numba/numba/blob/master/CHANGE_LOG).
- [x] I have included below a minimal working reproducer (if you are unsure how
 to write one see http://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports).

<!--

Please include details of the bug here, including, if applicable, what you
expected to happen!

-->
Unicode `lstrip`, `rstrip`, `strip` functions only handle space as whitespace. Other whitespace characters like `\t` are ignored:
```python
In [5]: numba.njit(lambda: '\ta'.lstrip())()                                                                                                                                                                
Out[5]: '\ta'

In [6]: '\ta'.lstrip()                                                                                                                                                                                      
Out[6]: 'a'
```
`string` library reports whitespace characters as below, but we need to look into CPython implementation.
```
In [1]: import string                                                                                                                                                                                       
In [2]: string.whitespace                                                                                                                                                                                   
Out[2]: ' \t\n\r\x0b\x0c'
```
`.strip()` not stripping `\t`.
<!--

Thanks for opening an issue! To help the Numba team handle your information
efficiently, please first ensure that there is no other issue present that
already describes the issue you have
(search at https://github.com/numba/numba/issues?&q=is%3Aissue).

For more general "how do I do X?" type questions, please speak to us in real
time on https://gitter.im/numba/numba or post to the Numba mailing list
https://groups.google.com/a/continuum.io/forum/#!forum/numba-users.

-->

## Reporting a bug

<!--

Before submitting a bug report please ensure that you can check off these boxes:

-->

- [x] I am using the latest released version of Numba (most recent is visible in
 the change log (https://github.com/numba/numba/blob/master/CHANGE_LOG).
- [x] I have included below a minimal working reproducer (if you are unsure how
 to write one see http://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports).

```
>>> from numba import njit
>>> s = '  \t bbcd\t '
>>> s.strip()
'bbcd'
>>> @njit
... def foo(s):
...     return s.strip()
...
>>> foo(s)
'\t bbcd\t'
>>>

```
diff --git a/numba/tests/test_unicode.py b/numba/tests/test_unicode.py
index 286e99693..c62cc79b8 100644
--- a/numba/tests/test_unicode.py
+++ b/numba/tests/test_unicode.py
@@ -1701,7 +1701,15 @@ class TestUnicode(BaseTest):
             ('  tú quién te crees?   ', None),
             ('大处 着眼，小处着手。大大大处', '大处'),
             (' 大处大处  ', ''),
-            (' 大处大处  ', None)
+            ('\t\nabcd\t', '\ta'),
+            (' 大处大处  ', None),
+            ('\t abcd \t', None),
+            ('\n abcd \n', None),
+            ('\r abcd \r', None),
+            ('\x0b abcd \x0b', None),
+            ('\x0c abcd \x0c', None),
+            ('\u2029abcd\u205F', None),
+            ('\u0085abcd\u2009', None)
         ]
 
         # form with no parameter

pip install -e .[dev]
parse_log_pytest
requirements.txt
pytest
apt-get update apt-get install -y gcc g++
3.7
requirements.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
certifi @ file:///croot/certifi_1671487769961/work/certifi
exceptiongroup==1.2.2
importlib-metadata==6.7.0
iniconfig==2.0.0
llvmlite==0.31.0
-e git+https://github.com/numba/numba.git@13ece9b97e6f01f750e870347f231282325f60c3#egg=numba
numpy==1.21.6
packaging==24.0
pluggy==1.2.0
pytest==7.4.4
tomli==2.0.1
typing_extensions==4.7.1
zipp==3.15.0

name: numba
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2022.12.7=py37h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - pip=22.3.1=py37h06a4308_0
  - python=3.7.16=h7a1cb2a_0
  - readline=8.2=h5eee18b_0
  - setuptools=65.6.3=py37h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - wheel=0.38.4=py37h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - argparse==1.4.0
      - exceptiongroup==1.2.2
      - importlib-metadata==6.7.0
      - iniconfig==2.0.0
      - llvmlite==0.31.0
      - numpy==1.21.6
      - packaging==24.0
      - pluggy==1.2.0
      - pytest==7.4.4
      - tomli==2.0.1
      - typing-extensions==4.7.1
      - zipp==3.15.0
prefix: /opt/conda/envs/numba

numba/tests/test_unicode.py::TestUnicode::test_strip
numba/tests/test_unicode.py::TestUnicode::test_basic_gt numba/tests/test_unicode.py::TestUnicode::test_basic_lt numba/tests/test_unicode.py::TestUnicode::test_bool numba/tests/test_unicode.py::TestUnicode::test_capitalize numba/tests/test_unicode.py::TestUnicode::test_casefold numba/tests/test_unicode.py::TestUnicode::test_comparison numba/tests/test_unicode.py::TestUnicode::test_concat numba/tests/test_unicode.py::TestUnicode::test_count numba/tests/test_unicode.py::TestUnicode::test_count_arg_type_check numba/tests/test_unicode.py::TestUnicode::test_count_optional_arg_type_check numba/tests/test_unicode.py::TestUnicode::test_count_with_start numba/tests/test_unicode.py::TestUnicode::test_count_with_start_end numba/tests/test_unicode.py::TestUnicode::test_endswith numba/tests/test_unicode.py::TestUnicode::test_endswith_default numba/tests/test_unicode.py::TestUnicode::test_endswith_tuple numba/tests/test_unicode.py::TestUnicode::test_endswith_tuple_args numba/tests/test_unicode.py::TestUnicode::test_endswith_with_start numba/tests/test_unicode.py::TestUnicode::test_endswith_with_start_end numba/tests/test_unicode.py::TestUnicode::test_eq numba/tests/test_unicode.py::TestUnicode::test_expandtabs numba/tests/test_unicode.py::TestUnicode::test_expandtabs_exception_noninteger_tabsize numba/tests/test_unicode.py::TestUnicode::test_expandtabs_with_tabsize numba/tests/test_unicode.py::TestUnicode::test_find numba/tests/test_unicode.py::TestUnicode::test_find_exception_noninteger_start_end numba/tests/test_unicode.py::TestUnicode::test_find_with_start_end numba/tests/test_unicode.py::TestUnicode::test_find_with_start_only numba/tests/test_unicode.py::TestUnicode::test_ge numba/tests/test_unicode.py::TestUnicode::test_getitem numba/tests/test_unicode.py::TestUnicode::test_getitem_error numba/tests/test_unicode.py::TestUnicode::test_gt numba/tests/test_unicode.py::TestUnicode::test_in numba/tests/test_unicode.py::TestUnicode::test_index numba/tests/test_unicode.py::TestUnicode::test_index_rindex_exception_noninteger_start_end numba/tests/test_unicode.py::TestUnicode::test_index_rindex_exception_substring_not_found numba/tests/test_unicode.py::TestUnicode::test_index_rindex_with_start_end numba/tests/test_unicode.py::TestUnicode::test_index_rindex_with_start_only numba/tests/test_unicode.py::TestUnicode::test_inplace_concat numba/tests/test_unicode.py::TestUnicode::test_isalnum numba/tests/test_unicode.py::TestUnicode::test_isalpha numba/tests/test_unicode.py::TestUnicode::test_isascii numba/tests/test_unicode.py::TestUnicode::test_isdecimal numba/tests/test_unicode.py::TestUnicode::test_isdigit numba/tests/test_unicode.py::TestUnicode::test_isidentifier numba/tests/test_unicode.py::TestUnicode::test_islower numba/tests/test_unicode.py::TestUnicode::test_isnumeric numba/tests/test_unicode.py::TestUnicode::test_isprintable numba/tests/test_unicode.py::TestUnicode::test_isspace numba/tests/test_unicode.py::TestUnicode::test_istitle numba/tests/test_unicode.py::TestUnicode::test_isupper numba/tests/test_unicode.py::TestUnicode::test_join numba/tests/test_unicode.py::TestUnicode::test_join_empty numba/tests/test_unicode.py::TestUnicode::test_join_interleave_str numba/tests/test_unicode.py::TestUnicode::test_join_non_string_exception numba/tests/test_unicode.py::TestUnicode::test_justification numba/tests/test_unicode.py::TestUnicode::test_justification_fillchar numba/tests/test_unicode.py::TestUnicode::test_justification_fillchar_exception numba/tests/test_unicode.py::TestUnicode::test_le numba/tests/test_unicode.py::TestUnicode::test_len numba/tests/test_unicode.py::TestUnicode::test_literal numba/tests/test_unicode.py::TestUnicode::test_literal_comparison numba/tests/test_unicode.py::TestUnicode::test_literal_concat numba/tests/test_unicode.py::TestUnicode::test_literal_find numba/tests/test_unicode.py::TestUnicode::test_literal_getitem numba/tests/test_unicode.py::TestUnicode::test_literal_in numba/tests/test_unicode.py::TestUnicode::test_literal_len numba/tests/test_unicode.py::TestUnicode::test_literal_xyzwith numba/tests/test_unicode.py::TestUnicode::test_lower numba/tests/test_unicode.py::TestUnicode::test_lt numba/tests/test_unicode.py::TestUnicode::test_not numba/tests/test_unicode.py::TestUnicode::test_partition numba/tests/test_unicode.py::TestUnicode::test_partition_exception_invalid_sep numba/tests/test_unicode.py::TestUnicode::test_passthrough numba/tests/test_unicode.py::TestUnicode::test_pointless_slice numba/tests/test_unicode.py::TestUnicode::test_repeat numba/tests/test_unicode.py::TestUnicode::test_repeat_exception_float numba/tests/test_unicode.py::TestUnicode::test_replace numba/tests/test_unicode.py::TestUnicode::test_replace_unsupported numba/tests/test_unicode.py::TestUnicode::test_replace_with_count numba/tests/test_unicode.py::TestUnicode::test_rfind numba/tests/test_unicode.py::TestUnicode::test_rfind_with_start_end numba/tests/test_unicode.py::TestUnicode::test_rfind_with_start_only numba/tests/test_unicode.py::TestUnicode::test_rfind_wrong_start_end numba/tests/test_unicode.py::TestUnicode::test_rfind_wrong_start_end_optional numba/tests/test_unicode.py::TestUnicode::test_rfind_wrong_substr numba/tests/test_unicode.py::TestUnicode::test_rindex numba/tests/test_unicode.py::TestUnicode::test_rpartition numba/tests/test_unicode.py::TestUnicode::test_rpartition_exception_invalid_sep numba/tests/test_unicode.py::TestUnicode::test_rsplit numba/tests/test_unicode.py::TestUnicode::test_rsplit_exception_empty_sep numba/tests/test_unicode.py::TestUnicode::test_rsplit_exception_noninteger_maxsplit numba/tests/test_unicode.py::TestUnicode::test_rsplit_whitespace numba/tests/test_unicode.py::TestUnicode::test_rsplit_with_maxsplit numba/tests/test_unicode.py::TestUnicode::test_slice2 numba/tests/test_unicode.py::TestUnicode::test_slice2_error numba/tests/test_unicode.py::TestUnicode::test_slice3 numba/tests/test_unicode.py::TestUnicode::test_slice3_error numba/tests/test_unicode.py::TestUnicode::test_split numba/tests/test_unicode.py::TestUnicode::test_split_exception_empty_sep numba/tests/test_unicode.py::TestUnicode::test_split_exception_invalid_keepends numba/tests/test_unicode.py::TestUnicode::test_split_exception_noninteger_maxsplit numba/tests/test_unicode.py::TestUnicode::test_split_whitespace numba/tests/test_unicode.py::TestUnicode::test_split_with_maxsplit numba/tests/test_unicode.py::TestUnicode::test_splitlines numba/tests/test_unicode.py::TestUnicode::test_splitlines_with_keepends numba/tests/test_unicode.py::TestUnicode::test_startswith numba/tests/test_unicode.py::TestUnicode::test_stride_slice numba/tests/test_unicode.py::TestUnicode::test_swapcase numba/tests/test_unicode.py::TestUnicode::test_title numba/tests/test_unicode.py::TestUnicode::test_upper numba/tests/test_unicode.py::TestUnicode::test_walk_backwards numba/tests/test_unicode.py::TestUnicode::test_zfill numba/tests/test_unicode.py::TestUnicodeInTuple::test_ascii_flag_add_mul numba/tests/test_unicode.py::TestUnicodeInTuple::test_ascii_flag_getitem numba/tests/test_unicode.py::TestUnicodeInTuple::test_ascii_flag_join numba/tests/test_unicode.py::TestUnicodeInTuple::test_ascii_flag_unbox numba/tests/test_unicode.py::TestUnicodeInTuple::test_const_unicode_in_hetero_tuple numba/tests/test_unicode.py::TestUnicodeInTuple::test_const_unicode_in_tuple numba/tests/test_unicode.py::TestUnicodeIteration::test_unicode_enumerate_iter numba/tests/test_unicode.py::TestUnicodeIteration::test_unicode_iter numba/tests/test_unicode.py::TestUnicodeIteration::test_unicode_literal_iter numba/tests/test_unicode.py::TestUnicodeIteration::test_unicode_literal_stopiteration_iter numba/tests/test_unicode.py::TestUnicodeIteration::test_unicode_stopiteration_iter
numba/cpython/unicode.py
numba/cpython/unicode.py