Whiz Tools

鞋码转换器

在不同的测量系统之间转换鞋码

请输入有效的鞋码

尺码参考表

男士尺码

男士尺码
美国英国欧盟日本(厘米)
65.53924
6.5639.524.5
76.54025
7.574125.5
87.541.526
8.584226.5
98.542.527
9.594327.5
109.54428
10.51044.528.5
1110.54529
11.51145.529.5
1211.54630
12.5124730.5
1312.547.531
13.5134831.5
1413.548.532
1514.549.533
1615.550.534

女士尺码

女士尺码
美国英国欧盟日本(厘米)
423521
4.52.535.521.5
533622
5.53.536.522.5
643723
6.54.537.523.5
753824
7.55.538.524.5
863925
8.56.539.525.5
974026
9.57.540.526.5
1084127
10.58.541.527.5
1194228
11.59.542.528.5
12104329

儿童尺码

儿童尺码
美国英国欧盟日本(厘米)
3.53199.5
43.519.510
4.542010.5
54.52111
5.5521.511.5
65.52212
6.562312.5
76.523.513
7.572413.5
87.52514
8.5825.514.5
98.52615
9.592715.5
109.527.516
10.5102816.5
1110.528.517
11.5112917.5
1211.53018
12.51230.518.5
1312.53119
13.5133219.5

鞋码转换器

介绍

鞋码转换在我们这个全球互联的世界中至关重要,鞋类在不同地区使用各种测量系统进行制造和销售。四个主要的鞋码系统——美国、英国、欧洲和日本(JP)——各自使用不同的尺度和参考点,因此在国际购物、旅行和商业中进行转换是必要的。

此工具提供这些主要尺码系统之间的准确转换,同时考虑性别和年龄差异。了解这些系统之间的关系可以帮助确保在购买国际零售商的鞋子或在国外旅行时的合适尺寸。

转换方法和公式

鞋码转换基于脚长测量,但这些测量与尺码标识之间的关系因系统而异:

  • 美国尺码:基于“大麦粒”单位(⅓ 英寸或 8.46 毫米)。男士尺码 1 等于 8⅔ 英寸(220 毫米),每增加一个尺码增加一个大麦粒。
  • 英国尺码:与美国相似,但通常小 ½ 至 1 尺码。英国尺码 0 等于成人的 8 英寸(203 毫米)。
  • 欧洲尺码:基于巴黎点(⅔ 厘米或 6.67 毫米)。欧洲尺码 1 等于 1 巴黎点(6.67 毫米)。
  • 日本尺码:直接表示脚长,以厘米为单位,使其成为最简单的系统。

这些系统之间的数学关系可以表示为:

  • 美国到英国(男士):UK=US0.5UK = US - 0.5
  • 英国到欧洲(成人):EU=UK+33EU = UK + 33
  • 美国到日本(男士):JP(US×0.846)+9.5JP \approx (US \times 0.846) + 9.5

然而,这些公式是近似值。在实践中,基于标准化测量的转换表更为可靠,特别是因为没有完美的国际标准化。

转换准确性和局限性

鞋码转换本质上是不精确的,原因包括:

  1. 制造商差异:品牌可能有略微不同的尺码标准
  2. 地区差异:即使在系统内部,也可能存在国家特定的差异
  3. 舍入问题:在不同增量的系统之间转换时
  4. 宽度考虑:大多数转换系统仅处理长度,而不处理宽度

为了获得最准确的合身,建议知道脚长(以毫米或英寸为单位),并在可用时参考品牌特定的尺码表。

使用案例

在线购物

国际电子商务使鞋码转换变得比以往任何时候都重要。当从海外零售商购买鞋类时,了解尺码的等效性可以帮助消费者在没有亲自试穿鞋子的情况下做出明智的决定。

// 用于电子商务平台的尺码转换函数
function convertShoeSize(sourceSize, sourceSystem, targetSystem, gender) {
  // 不同性别和系统的查找表
  const conversionTables = {
    men: {
      us: [6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12],
      uk: [5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5],
      eu: [39, 39.5, 40, 41, 41.5, 42, 42.5, 43, 44, 44.5, 45, 45.5, 46],
      jp: [24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30]
    },
    women: {
      us: [5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11],
      uk: [3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9],
      eu: [35, 36, 36.5, 37, 38, 38.5, 39, 40, 40.5, 41, 42, 42.5, 43],
      jp: [21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5]
    }
  };
  
  // 查找源系统中的索引
  const sourceIndex = conversionTables[gender][sourceSystem].findIndex(
    size => Math.abs(size - sourceSize) < 0.1
  );
  
  if (sourceIndex === -1) return null; // 找不到尺码
  
  // 返回目标系统中的对应尺码
  return conversionTables[gender][targetSystem][sourceIndex];
}

// 示例:将美国男士尺码 9 转换为欧洲尺码
const euSize = convertShoeSize(9, 'us', 'eu', 'men');
console.log(`美国男士尺码 9 等于欧洲尺码 ${euSize}`); // 输出:美国男士尺码 9 等于欧洲尺码 42.5
def convert_shoe_size(source_size, source_system, target_system, gender):
    """
    在不同系统之间转换鞋码,基于性别。
    
    参数:
        source_size (float): 原始鞋码
        source_system (str): 原始系统 ('us', 'uk', 'eu', 'jp')
        target_system (str): 目标系统 ('us', 'uk', 'eu', 'jp')
        gender (str): 'men', 'women' 或 'children'
        
    返回:
        float: 转换后的鞋码,如果转换不可能则返回 None
    """
    # 转换表
    conversion_tables = {
        'men': {
            'us': [6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12],
            'uk': [5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5],
            'eu': [39, 39.5, 40, 41, 41.5, 42, 42.5, 43, 44, 44.5, 45, 45.5, 46],
            'jp': [24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30]
        },
        'women': {
            'us': [5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11],
            'uk': [3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9],
            'eu': [35, 36, 36.5, 37, 38, 38.5, 39, 40, 40.5, 41, 42, 42.5, 43],
            'jp': [21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5]
        }
    }
    
    # 查找源系统中的最近匹配
    try:
        source_sizes = conversion_tables[gender][source_system]
        closest_index = min(range(len(source_sizes)), 
                           key=lambda i: abs(source_sizes[i] - source_size))
        
        # 返回目标系统中的对应尺码
        return conversion_tables[gender][target_system][closest_index]
    except (KeyError, ValueError):
        return None

# 示例用法
eu_size = convert_shoe_size(9, 'us', 'eu', 'men')
print(f"美国男士尺码 9 等于欧洲尺码 {eu_size}")  # 输出:美国男士尺码 9 等于欧洲尺码 42.5

国际旅行

旅行者在国外购买鞋子时,往往需要了解不同的尺码系统。了解当地尺码可以避免购买不合适的鞋子带来的挫折。

制造和零售

在全球市场上运营的鞋类制造商和零售商必须在产品上标注多个尺码,以有效服务国际客户。

public class ShoeSizeConverter {
    // 男士鞋子的转换表
    private static final double[] US_MEN = {6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12};
    private static final double[] UK_MEN = {5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5};
    private static final double[] EU_MEN = {39, 39.5, 40, 41, 41.5, 42, 42.5, 43, 44, 44.5, 45, 45.5, 46};
    private static final double[] JP_MEN = {24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30};
    
    /**
     * 生成制造的多系统尺码标签
     * @param baseSize 制造商系统中的基础尺码
     * @param baseSystem 制造商的尺码系统
     * @return 包含所有主要系统尺码的字符串
     */
    public static String generateSizeLabel(double baseSize, String baseSystem) {
        String gender = "men"; // 在这个示例中,假设为男士鞋
        
        double usSize = convertSize(baseSize, baseSystem, "us", gender);
        double ukSize = convertSize(baseSize, baseSystem, "uk", gender);
        double euSize = convertSize(baseSize, baseSystem, "eu", gender);
        double jpSize = convertSize(baseSize, baseSystem, "jp", gender);
        
        return String.format("美国: %.1f | 英国: %.1f | 欧洲: %.1f | 日本: %.1f", 
                            usSize, ukSize, euSize, jpSize);
    }
    
    private static double convertSize(double size, String fromSystem, String toSystem, String gender) {
        // 实现将使用类似于之前示例的查找表
        // 为简洁起见省略
        return 0.0; // 占位符
    }
    
    public static void main(String[] args) {
        String label = generateSizeLabel(42, "eu");
        System.out.println("尺码标签: " + label);
    }
}

替代方案

直接测量

与其依赖于不同尺码系统之间的转换,不如直接测量脚长,以厘米或英寸为单位提供更普遍的参考:

1. 将一张纸放在墙边
2. 站在纸上,脚跟紧贴墙壁
3. 标记最长脚趾的位置
4. 测量墙壁到标记的距离,单位为毫米
5. 使用这个测量值查找任何系统中的尺码

这种方法绕过了尺码系统的不一致性,尽管它没有考虑宽度或足弓高度。

蒙多点系统

蒙多点系统(ISO 9407:2019)是一个国际标准,规定了脚长和宽度,以毫米为单位。虽然在日常零售中不常用,但它是滑雪靴和许多国家的军用鞋的标准。

// C 函数将脚长转换为蒙多点
int footLengthToMondopoint(double lengthMm) {
    // 蒙多点是脚长的毫米数,四舍五入到最近的 5 毫米
    return 5 * (int)((lengthMm + 2.5) / 5.0);
}

// 示例用法
int mondopoint = footLengthToMondopoint(267.8);
printf("脚长 267.8 毫米 = 蒙多点 %d\n", mondopoint); // 输出:蒙多点 270

3D 脚部扫描

现代技术通过 3D 脚部扫描提供了传统尺码的替代方案,这种扫描创建了脚的精确数字模型。这些扫描可以用于:

  • 与现有鞋楦(用于制作鞋子的模具)匹配
  • 制作定制鞋
  • 推荐最适合脚部形态的特定品牌和型号

这种技术在专业鞋类商店和一些智能手机应用中越来越普遍。

鞋码系统的历史

美国尺码系统

美国系统可以追溯到 1880 年代,基于英制大麦粒的测量。最初的参考点是儿童尺码,男士和女士的尺码尺度作为扩展开发。该系统在 20 世纪初标准化,但仍然保持着其略显任意的历史基础。

英国尺码系统

英国系统是最古老的系统之一,可以追溯到 14 世纪。它最初基于大麦粒(⅓ 英寸),爱德华二世国王在 1324 年下令三颗大麦粒等于一英寸,鞋码将按一个大麦粒增加。该系统后来被正式化,并在英国及前英国殖民地中继续使用。

欧洲尺码系统

欧洲系统源于巴黎点,建立于 19 世纪的法国。该系统使用标准增量为 ⅔ 厘米,最终在整个欧洲大陆被采用,尽管存在地区差异。现代欧洲系统代表了对欧洲国家尺码的标准化尝试。

日本尺码系统

日本系统是主要系统中最新的,也是最简单的,直接以厘米表示脚长。该系统于 20 世纪中叶建立,并在日本及一些其他亚洲国家使用。

综合尺码表

男士鞋码转换表

美国英国欧洲日本(厘米)
65.53924
6.5639.524.5
76.54025
7.574125.5
87.541.526
8.584226.5
98.542.527
9.594327.5
109.54428
10.51044.528.5
1110.54529
11.51145.529.5
1211.54630
1312.547.531
1413.548.532
1514.549.533

女士鞋码转换表

美国英国欧洲日本(厘米)
423521
4.52.535.521.5
533622
5.53.536.522.5
643723
6.54.537.523.5
753824
7.55.538.524.5
863925
8.56.539.525.5
974026
9.57.540.526.5
1084127
10.58.541.527.5
1194228

儿童鞋码转换表

美国英国欧洲日本(厘米)
43.519.510
54.52111
65.52212
76.523.513
87.52514
98.52615
109.527.516
1110.528.517
1211.53018
1312.53119
113.53220
2133.520.5
3234.521

特殊考虑

宽度变化

大多数尺码系统主要关注长度,但宽度对于合适的合身同样重要。在美国系统中,宽度用字母表示(例如,AA、B、D、EE),每个字母代表宽度的 ⅛ 英寸差异。其他系统有自己的宽度标识,但这些在国际上不够标准化。

public enum ShoeWidth
{
    Narrow, // AA, A
    Regular, // B, C, D
    Wide, // E, EE
    ExtraWide // EEE+
}

public class ShoeSizeWithWidth
{
    public double Size { get; set; }
    public string System { get; set; }
    public ShoeWidth Width { get; set; }
    
    public override string ToString()
    {
        string widthLabel = Width switch
        {
            ShoeWidth.Narrow => "窄",
            ShoeWidth.Regular => "标准",
            ShoeWidth.Wide => "宽",
            ShoeWidth.ExtraWide => "超宽",
            _ => ""
        };
        
        return $"尺码: {Size} {System}, 宽度: {widthLabel}";
    }
}

运动鞋

运动鞋往往有自己的尺码特殊性。跑鞋通常比标准鞋小 ½ 至 1 尺码,以考虑活动时脚部的肿胀。不同运动可能有不同的合身要求:

  • 跑鞋:通常尺码加 ½
  • 足球鞋:通常尺码减小以获得紧身合身
  • 篮球鞋:可能有不同的宽度轮廓
  • 自行车鞋:尺码通常与步行鞋不同

儿童的生长考虑

在转换儿童尺码时,考虑到生长是非常重要的。许多父母会购买比当前测量大 ½ 至 1 尺码的鞋,以适应快速的脚部生长。

参考文献

  1. 国际标准化组织. (2019). ISO 9407:2019 鞋码 — 蒙多点尺码和标记系统. https://www.iso.org/standard/73758.html

  2. 美国测试与材料协会. (2020). ASTM D5867-20 鞋长、宽度和脚部特征测量的标准测试方法. https://www.astm.org/d5867-20.html

  3. Rossi, W. A. (2000). 完整的鞋类词典(第2版). Krieger Publishing Company.

  4. Luximon, A. (编). (2013). 鞋类设计与制造手册. Woodhead Publishing.

  5. 英国标准协会. (2011). BS 5943:2011 鞋类和鞋楦的尺码规范. BSI Standards.

  6. 日本工业标准委员会. (2005). JIS S 5037:2005 鞋类尺码系统. 日本标准协会。

Feedback