list all possible combination of group separator and decimal separator by iterate all cultures

一共有7种组合

01 [,2C][.2E] en-US
02 [ C2A0][,2C] fr-FR
03 [.2E][,2C] da-DK
04 [’E28099][.2E] de-CH
05 [ C2A0][.2E] tn-BW
06 [,2C][/2F] fa-IR
07 [’E28099][,2C] wae-CH

  var list = CultureInfo.GetCultures(CultureTypes.AllCultures);
  Dictionary<string, List<string>> dic = new Dictionary<string, List<string>>();
  foreach (var item in list)
  {
      var cultureInfo = item;
      NumberFormatInfo numberFormat = cultureInfo.NumberFormat;
      byte[] utf8Bytes = Encoding.UTF8.GetBytes(numberFormat.NumberGroupSeparator);
      byte[] utf8Bytes2 = Encoding.UTF8.GetBytes(numberFormat.NumberDecimalSeparator);
      //Console.WriteLine($"{cultureInfo.Name}: Thousand Separator: [{numberFormat.NumberGroupSeparator}{HexHelper.GetHexStringFromByteArray(utf8Bytes)}], Decimal Separator: [{numberFormat.NumberDecimalSeparator}{HexHelper.GetHexStringFromByteArray(utf8Bytes2)}]");
      var key = $"[{numberFormat.NumberGroupSeparator}{HexHelper.GetHexStringFromByteArray(utf8Bytes)}][{numberFormat.NumberDecimalSeparator}{HexHelper.GetHexStringFromByteArray(utf8Bytes2)}]";
      if (!dic.ContainsKey(key))
      {
          dic.Add(key, new List<string>() { cultureInfo.Name});
      }
      else
      {
          dic[key].Add(cultureInfo.Name);
      }
  }
  int i = 0;
  foreach(var item in dic)
  {
      i++;
      Console.WriteLine($"{i:D2} {item.Key}");
  }

这个是win10系统上面的测试

 

升级到win11之后多了2个组合

01 [,2C][.2E]
02 [ C2A0][,2C]
03 [.2E][,2C]
04 [’E28099][.2E]
05 [ C2A0][.2E]
06 [,2C][/2F]
07 [⹁E2B981][.2E]
08 [ E280AF][,2C]
09 [’E28099][,2C]

 

            var list = new List<CultureInfo>()
    {
//01 [ E280AF][,2C]
new CultureInfo("fr-BF"),
//02 [ C2A0][,2C]
new CultureInfo("af-NA"),
//03 [ C2A0][.2E]
new CultureInfo("tn-BW"),
//04 [,2C][.2E]
new CultureInfo("aa-DJ"),
//05 [,2C][/2F]
new CultureInfo("fa-IR"),
//06 [.2E][,2C]
new CultureInfo("ar-MR"),
//07 [’E28099][,2C]
new CultureInfo("wae-CH"),
//08 [’E28099][.2E]
new CultureInfo("de-CH"),
//09 [⹁E2B981][.2E]
new CultureInfo("ff-Adlm"),
    };

 

posted @ 2024-04-23 15:14  ChuckLu  阅读(2)  评论(0编辑  收藏  举报